Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

PHP: Automatisch erstelltes Formular weiterverarbeiten

Diskussion: PHP: Automatisch erstelltes Formular weiterverarbeiten im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Ich habe ein PHP-Script, dass eine Liste aus einer Mysql-Datenbank erzeugt: PHP-Code: <?php function  listLabels ()  // Erzeugt eine Liste der Labels {    ...

Antwort
Alt 26.05.06, 18:23   #1 (permalink)
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard PHP: Automatisch erstelltes Formular weiterverarbeiten

Anzeige

Ich habe ein PHP-Script, dass eine Liste aus einer Mysql-Datenbank erzeugt:

PHP-Code:
<?php
function listLabels() // Erzeugt eine Liste der Labels
{
  
$buecher      mysql_query('SELECT * FROM Buecher;');

  echo 
'<form><table>';
  
  
$i 0;

  while(
$zeile mysql_fetch_array($buecher)){
    echo 
'<tr>'
       
.   '<td><input type="checkbox" name="exp'.$i.'" value='.$zeile['ID'].' /></td>'
       
.   '<td'.$orderAutor.'>'.$zeile['Autor'].'</td>'
       
.   '<td'.$orderTitel.'>'.$zeile['Titel'].'</td>'
       
'</tr>';
    
$i++;
  }

  echo     
'</tbody>'
     
.   '</table>'
     
.   '<input type="submit" value="Exportieren" />
     . '
</form>;
}
?>
Die abgesendeten Formulardaten werden an diese Funktion übergeben:
PHP-Code:
<?php
function exportLabels() // Exportiert die Labels nach PDF
{
  for (
$i=0$i<1000$i++) {

    
/* Etwas Code */
  
    
if(empty($_REQUEST["exp$i"]))
      continue;

    
/* Ewig langer Code, der massig Rechenzeit und Speicher beansprucht */
  
}
}
?>
Mein Problem ist, dass der Server bei diesem Rechenanspruch abbricht.
Den Code habe ich der Übersichtlichkeit halber eingekürzt, er ist also evtl. fehlerhaft, das ist aber egal.
Gibt es eine bessere Methode, die Formulardaten auszuwerten?
Eydeet ist offline   Mit Zitat antworten
Alt 26.05.06, 18:53   #2 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard RE: PHP: Automatisch erstelltes Formular weiterverarbeiten

Zitat:
Original von Eydeet
Mein Problem ist, dass der Server bei diesem Rechenanspruch abbricht.
Zufällig vll nach 60 sekunden?
Zitat:
Original von Eydeet
Den Code habe ich der Übersichtlichkeit halber eingekürzt, er ist also evtl. fehlerhaft, das ist aber egal.
Ich finde das nicht egal unnötige Routinen können bisweilen sehr Serverlastig sein
Zitat:
Original von Eydeet
Gibt es eine bessere Methode, die Formulardaten auszuwerten?
Da wirste wohl mehr vom Quelltext posten müssen.
Ach ja und nicht ganzrichtiges Forum
CPU8080 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 26.05.06, 20:38   #3 (permalink)
Themenstarter
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard RE: PHP: Automatisch erstelltes Formular weiterverarbeiten

Zitat:
Original von CPU8080
Zitat:
Original von Eydeet
Mein Problem ist, dass der Server bei diesem Rechenanspruch abbricht.
Zufällig vll nach 60 sekunden?
Ja, nach ca. 63 Sekunden.

Zitat:
Original von CPU8080
Zitat:
Original von Eydeet
Den Code habe ich der Übersichtlichkeit halber eingekürzt, er ist also evtl. fehlerhaft, das ist aber egal.
Ich finde das nicht egal unnötige Routinen können bisweilen sehr Serverlastig sein
Ich meinte eigentlich nicht, dass der Code, den ich gekürzt habe, fehlerhaft ist, sondern dass der Code, den ich gepostet habe evtl. fehlerhaft ist. Ich habe nämlich nicht ausprobiert, ob er läuft.
Der Code, den ich weggekürzt habe, kann natürlich auch fehlerhaft sein.

Zitat:
Original von CPU8080
Ach ja und nicht ganzrichtiges Forum
Welches Forum ist denn das richtige?

Zitat:
Original von CPU8080
Zitat:
Original von Eydeet
Gibt es eine bessere Methode, die Formulardaten auszuwerten?
Da wirste wohl mehr vom Quelltext posten müssen.
Also gut, hier ist der gesamte Quellcode, diesmal ungekürzt und lauffähig. Ich wollte es nicht übertreiben, aber gut:
PHP-Code:
<?php
require('settings.php');

$db mysql_connect($dbhost$dbuser$dbpass) || die("Zugriff auf Datenbank verweigert: ".mysql_info());

mysql_query("USE $dbname;") || die("Die Datenbank existiert nicht: ".mysql_info());

$sqlBuecher 'SELECT * FROM Buecher LEFT JOIN Kategorien ON Buecher.Typ=Kategorien.Kat_ID';

if(!(
$_REQUEST['do'] === 'exp')) // Wenn exportiert werden soll, darf kein Output erfolgen
  
require('includes/header.inc');

if(
$_REQUEST['do'] === 'edit'editLabel();
elseif(
$_REQUEST['do'] === 'exp'exportLabels();
elseif(
$_REQUEST['do'] === 'del' && !empty($_REQUEST['id'])) {
       
mysql_query('DELETE FROM Buecher WHERE ID='.$_REQUEST['id'].';'
         || die(
'Datenbankfehler beim Löschen: '.mysql_error());
       
listLabels();
}
else 
listLabels();


function 
listLabels() // Erzeugt eine Liste der Labels
{
  global 
$sqlBuecher// Standard-Code für Tabelle Buecher

  // Bücher sortieren
  
$orderby=$_REQUEST['orderby'];

  if(empty(
$orderby)) $orderby 'Autor';

  
// Auf bestimmte Anzahl Einträge limitieren
/*  $start = $_REQUEST['start'];
  $end   = $_REQUEST['end'];
  if(empty($start)) $start = 0;
  if(empty($end))   $end = 30;

  $tempend = $end-$start;*/

  
$neue_buecher mysql_query($sqlBuecher.' WHERE Neu=1 ORDER BY '.$orderby.';');
  
//$buecher      = mysql_query($sqlBuecher.' ORDER BY '.$orderby.' LIMIT '.$start.', '.$tempend.';');
  
$buecher      mysql_query($sqlBuecher.' ORDER BY '.$orderby.';');

  
// Style-Informationen: Wonach wurde sortiert?
  
if($orderby === 'Titel'$orderTitel ' class="orderedby"';
  elseif(
$orderby === 'Typ'$orderTyp ' class="orderedby"';
  else                     
$orderAutor ' class="orderedby"';

  
// Tabellen-Head anzeigen
  
echo '<h1>Schulb&uuml;cherei</h1>'
     
'<a href="edit.php?do=edit">'
     
.   '<img src="images/label.gif" alt="Neues Label erstellen" /></a><br />'
     
'<form method="POST" name="list">'
     
.   '<input type="hidden" name="do" value="exp">'
     
.   '<table class="list">'
     
.     '<thead>'
     
.       '<tr>'
     
.         '<td>&nbsp;</td>'
     
.         '<td'.$orderAutor.'><a href="edit.php?orderby=Autor">Autor</a></td>'
     
.         '<td'.$orderTitel.'><a href="edit.php?orderby=Titel">Titel</a></td>'
     
.         '<td'.$orderTyp.'><a href="edit.php?orderby=Typ">Medientyp</a></td>'
     
.         '<td>&nbsp;</td>'
     
.         '<td>&nbsp;</td>'
     
.       '</tr>'
     
.     '</thead>'
     
.     '<tbody>';
  
  
$i 0;

  while(
$zeile mysql_fetch_array($neue_buecher)){
    echo 
'<tr class="row_new">'
       
.   '<td><input type="checkbox" name="exp'.$i.'" value='.$zeile['ID'].' /></td>'
       
.   '<td'.$orderAutor.'>'.$zeile['Autor'].'</td>'
       
.   '<td'.$orderTitel.'>'.$zeile['Titel'].'</td>'
       
.   '<td'.$orderTyp.'>'.$zeile['Kategorie'].'</td>'
       
.   '<td><a href="edit.php?do=edit&id='.$zeile['ID'].'&action=edit">'
       
.        '<img src="images/bearbeiten.gif" alt="Bearbeiten" /></a></td>'
       
.   '<td><a href="edit.php?do=del&id='.$zeile['ID'].'">'
       
.        '<img src="images/loeschen.gif" alt="Löschen" /></a></td>'
       
'</tr>';
    
$i++;
  }

  
$i 0;

  while(
$zeile mysql_fetch_array($buecher)){
    echo 
'<tr>'
       
.   '<td><input type="checkbox" name="exp'.$i.'" value='.$zeile['ID'].' /></td>'
       
.   '<td'.$orderAutor.'>'.$zeile['Autor'].'</td>'
       
.   '<td'.$orderTitel.'>'.$zeile['Titel'].'</td>'
       
.   '<td'.$orderTyp.'>'.$zeile['Kategorie'].'</td>'
       
.   '<td><a href="edit.php?do=edit&id='.$zeile['ID'].'&action=edit">'
       
.        '<img src="images/bearbeiten.gif" alt="Bearbeiten" /></a></td>'
       
.   '<td><a href="edit.php?do=del&id='.$zeile['ID'].'">'
       
.        '<img src="images/loeschen.gif" alt="Löschen" /></a></td>'
       
'</tr>';
    
$i++;
  }
  echo     
'</tbody>'
     
.   '</table>'
     
.   '<table style="table-layout:fixed;" class="list-bot">'
     
.     '<tr>'
     
.       '<td style="width:25%"><a href="javascript:document.list.submit()">'
     
.         '<img src="images/exportieren.gif" alt="Exportieren" /></a></td>'
     
.       '<td style="width:25%"><a href="edit.php?do=exp&all=new">'
     
.         '<img src="images/neue-exportieren.gif" alt="Neue Exportieren" /></a></td>'
     
.       '<td style="width:25%"><a href="edit.php?do=exp&all=all">'
     
.         '<img src="images/alle-exportieren.gif" alt="Alle Exportieren" /></a></td>'
     
.       '<td style="width:25%"><a href="edit.php">'
     
.         '<img src="images/aktualisieren.gif" alt="Ansicht aktualisieren" /></a></td>'
     
.   '</table>'
     
'</form>';
}

function 
editLabel() // Bearbeitet die Labels, wenn Label nicht existiert, wird es erstellt
{
  global 
$sqlBuecher// Standard-Code für Tabellen-Import: Buecher

  
if(!empty($_REQUEST['id'])) { // Wenn ID nicht leer ist => Bearbeitung gewünscht
    
if (!empty($_REQUEST['autor']) && !empty($_REQUEST['titel']) && !empty($_REQUEST['typ']))
    {
      
mysql_query("UPDATE Buecher 
        SET Autor='"
.$_REQUEST['autor']."',Titel='".$_REQUEST['titel']."',Typ='".$_REQUEST['typ']."' 
        WHERE ID="
.$_REQUEST['id'].";")||die('Fehler beim Ändern der Werte'.mysql_error());
      
listLabels();
    }
    else
    {
      
$edit_buch mysql_query($sqlBuecher." WHERE ID=".$_REQUEST['id'].";");

      
$zeile mysql_fetch_array($edit_buch);

      
echoEdit('edit'$zeile['Autor'], $zeile['Titel'], $zeile['ID'], $zeile['Kategorie'], $zeile['Kat_ID']);  
    }
  }
  else { 
// Wenn ID leer ist => Erstellung gewünscht
    
if (!empty($_REQUEST['autor']) && !empty($_REQUEST['titel']) && !empty($_REQUEST['typ'])) {
      
mysql_query("INSERT INTO Buecher (Autor,Titel,Typ) 
        VALUES ('"
.$_REQUEST['autor']."', '".$_REQUEST['titel']."', '".$_REQUEST['typ']."');")
          ||die(
'Fehler beim Eintragen der Werte'.mysql_error());

      
echoEdit('create');
    }
    else {
      
echoEdit('create');
    }
  }
}

function 
echoEdit($action='create'$autor=''$titel=''$id=''$kategorie=''$Kat_ID) {
  if(
$action === "edit")
    echo 
'<h1>Bearbeiten: '.$autor.': '.$titel.' ('.$kategorie.')</h1>';
  else
    echo 
'<h1>Label erstellen</h1>';

  echo 
'<form action="edit.php" method="POST" name="createLabel">';

  if(
$action === "edit")
    echo 
'<input type="hidden" name="id" value="'.$id.'">';

  echo 
'<input type="hidden" name="do" value="edit">'
   
.   '<table class="createLabel">'
   
.   '<tr><td>Autor:</td><td><input type="text" name="autor" value="'.$autor.'"></td></tr>'
   
.   '<tr><td>Titel:</td><td><input type="text" name="titel" value="'.$titel.'"></td></tr>'
   
.   '<tr><td>Typ:</td>'
   
.   '<td>'.kategories($Kat_ID).'</td>'
   
.   '<tr><td><a href="javascript:document.createLabel.submit()">'
   
.           '<img src="images/speichern.gif" alt="Speichern" /></a></td>'
   
.   '<td><a href="edit.php?do=edit&id='.$id.'&action=delete">'
   
.        '<img src="images/loeschen.gif" alt="Löschen" /></a></td></tr>'
   
.   '</table>'
   
.   '</form>';
}

function 
Kategories($Kat_ID// Erzeugt eine Liste der mögl. Kategorien
{
  
$kategories mysql_query('SELECT * FROM Kategorien');

  
$ret '<select name="typ">';

  while(
$zeile mysql_fetch_array($kategories)) {
    if(
$Kat_ID === $zeile['Kat_ID']) $sel="selected";

    
$ret .= '<option value="'.$zeile['Kat_ID'].'" '.$sel.'>'.$zeile['Kategorie'].'</option>';

    
$sel="";
  }

  
$ret .= '</select>';

  return 
$ret;
}

function 
exportLabels() // Exportiert die Labels nach PDF
{
  global 
$sqlBuecher// Standard-Code für Tabellen-Import: Buecher

  //fpdf-code
  
require("fpdf/fpdf.php");

  
$pdf=new FPDF('P','pt','A4');
  
$pdf->SetMargins(000);
  
$pdf->AddPage();
  
$pdf->SetAutoPageBreak(true0);
  
$pdf->SetFont('Arial','',16);

  
// Zwischenspeicher
  
$issecond false;
  
$autor "";
  
$titel "";

  if(
$_REQUEST["all"] === "all")
    
$buecher mysql_query($sqlBuecher);
  elseif(
$_REQUEST["all"] === "new")
    
$buecher mysql_query($sqlBuecher." WHERE Neu=1;");

  if(!empty(
$_REQUEST["all"]))
    
mysql_query("UPDATE Buecher SET Neu=0;");


  for (
$i=0$i<1000$i++) {  // HACK: Es sind max. 1000 Karten möglich!
  
    
if(empty($_REQUEST["exp$i"]) && empty($_REQUEST["all"]))
      continue;

    if(!empty(
$_REQUEST["exp$i"]))
      
$buecher mysql_query($sqlBuecher." WHERE ID=".$_REQUEST["exp$i"].";");

    
$row mysql_fetch_array($buecher);

    if(empty(
$row['Autor'])&&empty($row['Titel'])&&empty($row['Typ']))
      break;


    if(empty(
$_REQUEST["all"]))
      
mysql_query("UPDATE Buecher SET Neu=0 WHERE ID=".$row['ID'].";");

    
// Anfang: Strings splitten
    
list ($a1$a2$a3$a4$a5$a6$a7$a8$a9$a10) = split('[ ]'$titel10);
    list (
$b1$b2$b3$b4$b5$b6$b7$b8$b9$b10) = split('[ ]'$row['Titel'], 10);

    for(
$i=1$i <= 10$i++) {
          if(
$i==1){$temp=$a1.' ';$tit1_teil1='';$tit1_teil2='';}
      elseif(
$i==2)$temp=$a2.' ';
      elseif(
$i==3)$temp=$a3.' ';
      elseif(
$i==4)$temp=$a4.' ';
      elseif(
$i==5)$temp=$a5.' ';
      elseif(
$i==6)$temp=$a6.' ';
      elseif(
$i==7)$temp=$a7.' ';
      elseif(
$i==8)$temp=$a8.' ';
      elseif(
$i==9)$temp=$a9.' ';
      elseif(
$i==10)$temp=$a10.' ';

      if(
strlen($tit1_teil1.$temp) <= 35)
        
$tit1_teil1 .= $temp;
      else
        
$tit1_teil2 .= $temp;
    }
    
$tit1_teil2 trim(substr(substr($tit1_teil13570).$tit1_teil2035));
    
$tit1_teil1 trim(substr($tit1_teil1035));


    for(
$i=1$i <= 10$i++) {
          if(
$i==1){$temp=$b1.' ';$tit2_teil1='';$tit2_teil2='';}

      elseif(
$i==2)$temp=$b2.' ';
      elseif(
$i==3)$temp=$b3.' ';
      elseif(
$i==4)$temp=$b4.' ';
      elseif(
$i==5)$temp=$b5.' ';
      elseif(
$i==6)$temp=$b6.' ';
      elseif(
$i==7)$temp=$b7.' ';
      elseif(
$i==8)$temp=$b8.' ';
      elseif(
$i==9)$temp=$b9.' ';
      elseif(
$i==10)$temp=$b10.' ';

      if(
strlen($tit2_teil1.$temp) <= 35)
        
$tit2_teil1 .= $temp;
      else
        
$tit2_teil2 .= $temp;
    }
    
$tit2_teil2 trim(substr(substr($tit2_teil13570).$tit2_teil2035));
    
$tit2_teil1 trim(substr($tit2_teil1035));
    
// Ende: Strings splitten

    
if(!$issecond) {
      
$autor $row['Autor'];
      
$titel $row['Titel'];
      
$typ   $row['Kategorie'];
      
$issecond true;
    }

    else {
      
$pdf->SetFont('Arial','I',13);
      
$pdf->Cell(297.46,52.618125,'Eigentum der GGS Corneliusstrasse','LRT',0,'C');
      
$pdf->Cell(297.46,52.618125,'Eigentum der GGS Corneliusstrasse','LRT',1'C');
      
$pdf->SetFont('Arial','U',13);
      
$pdf->Cell(297.46,26.3090625,'  Titel:','LR',0);
      
$pdf->Cell(297.46,26.3090625,'  Titel:','LR',1);
      
$pdf->SetFont('Arial','',16);
      
$pdf->Cell(297.46,26.3090625,'  '.$tit1_teil1,'LR',0);
      
$pdf->Cell(297.46,26.3090625,'  '.$tit2_teil1,'LR',1);
      
$pdf->Cell(297.46,26.3090625,'  '.$tit1_teil2,'LR',0);
      
$pdf->Cell(297.46,26.3090625,'  '.$tit2_teil2,'LR',1);
      
$pdf->SetFont('Arial','U',13);
      
$pdf->Cell(297.46,26.3090625,'  Autor:','LR',0);
      
$pdf->Cell(297.46,26.3090625,'  Autor:','LR',1);
      
$pdf->SetFont('Arial','',16);
      
$pdf->Cell(297.46,26.3090625,'  '.$autor,'LR',0);
      
$pdf->Cell(297.46,26.3090625,'  '.$row['Autor'],'LR',1);
      
$pdf->SetFont('Arial','B',16);
      
$pdf->Cell(297.46,26.3090625,'  '.$typ,'LRB',0,'C');
      
$pdf->Cell(297.46,26.3090625,'  '.$row['Kategorie'],'LRB',1,'C');

      
$autor "";
      
$titel "";
      
$typ "";
      
$issecond false;
    }
  }
  
  if(!empty(
$titel) || !empty($autor)) {
    
// Anfang: Strings splitten
    
list ($a1$a2$a3$a4$a5$a6$a7$a8$a9$a10) = split('[ ]'$titel10);

    for(
$i=1$i <= 10$i++) {
          if(
$i==1){$temp=$a1.' ';$tit1_teil1='';$tit1_teil2='';}
      elseif(
$i==2)$temp=$a2.' ';
      elseif(
$i==3)$temp=$a3.' ';
      elseif(
$i==4)$temp=$a4.' ';
      elseif(
$i==5)$temp=$a5.' ';
      elseif(
$i==6)$temp=$a6.' ';
      elseif(
$i==7)$temp=$a7.' ';
      elseif(
$i==8)$temp=$a8.' ';
      elseif(
$i==9)$temp=$a9.' ';
      elseif(
$i==10)$temp=$a10.' ';

      if(
strlen($tit1_teil1.$temp) <= 35)
        
$tit1_teil1 .= $temp;
      else
        
$tit1_teil2 .= $temp;
    }
    
$tit1_teil2 trim(substr(substr($tit1_teil13570).$tit1_teil2035));
    
$tit1_teil1 trim(substr($tit1_teil1035));
    
// Ende: Strings splitten

      
$pdf->SetFont('Arial','I',13);
      
$pdf->Cell(297.46,52.618125,'Eigentum der GGS Corneliusstrasse','LRT',2'C');
      
$pdf->SetFont('Arial','U',13);
      
$pdf->Cell(297.46,26.3090625,'  Titel:','LR',2);
      
$pdf->SetFont('Arial','',16);
      
$pdf->Cell(297.46,26.3090625,'  '.$tit1_teil1,'LR',2);
      
$pdf->Cell(297.46,26.3090625,'  '.$tit1_teil2,'LR',2);
      
$pdf->SetFont('Arial','U',13);
      
$pdf->Cell(297.46,26.3090625,'  Autor:','LR',2);
      
$pdf->SetFont('Arial','',16);
      
$pdf->Cell(297.46,26.3090625,'  '.$autor,'LR',2);
      
$pdf->SetFont('Arial','B',16);
      
$pdf->Cell(297.46,26.3090625,'  '.$typ,'LRB',2,'C');
  }

  
$pdf->Output("Export.pdf""I");
}

if(!(
$_REQUEST['do'] === 'exp')) {
require(
'includes/edit_buttons.inc');
require(
'includes/overall_footer.inc');
}
Eydeet ist offline   Mit Zitat antworten
Alt 26.05.06, 22:30   #4 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

also ich erklärs mal ein bissle aus Sicherheitsgründen usw. wird die Laufzeit eines Scripts auf 60 sec standart mäßig gesetzt. Dieses änderst für jedes Skript dynamisch indem du einfach am Anfang das schreibst:

PHP-Code:
ini_set('max_execution_time''Sekundenanzahl'); 
Es ist natürlich jetzt schwer durch den lange quelltext dardurchzusteigen, wobei ich das gefühl hab das man da noch kräftig entschlacken kann.
Kann man den Frage was das wird bzw. was das Skript anstellen soll?
CPU8080 ist offline   Mit Zitat antworten
Alt 27.05.06, 01:44   #5 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Lightbulb RE: PHP: Automatisch erstelltes Formular weiterverarbeiten

Zitat:
Original von Eydeet
Gibt es eine bessere Methode, die Formulardaten auszuwerten?
Ja, packe nicht alles in ein einziges Formular, sondern bearbeite die Daten zeilenweise. Du könntest beispielsweise jeden Datensatz in ein Formular mit eigenem Submit-Button packen, dann wird immer nur ein Datensatz aktualisiert und nicht die ganze Liste, bei der sich 99% der Felder wahrscheinlich nicht mal geändert haben.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Alt 27.05.06, 09:15   #6 (permalink)
Themenstarter
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

Zitat:
Original von CPU8080
also ich erklärs mal ein bissle aus Sicherheitsgründen usw. wird die Laufzeit eines Scripts auf 60 sec standart mäßig gesetzt. Dieses änderst für jedes Skript dynamisch indem du einfach am Anfang das schreibst:

PHP-Code:
ini_set('max_execution_time''Sekundenanzahl'); 
ini_set ist leider bei meinem Hoster deaktiviert.

Zitat:
Original von CPU8080
Es ist natürlich jetzt schwer durch den lange quelltext dardurchzusteigen, wobei ich das gefühl hab das man da noch kräftig entschlacken kann.
Kann man den Frage was das wird bzw. was das Skript anstellen soll?
Ich bin mir sicher, dass man den Code noch vereinfachen könnte, ich hab es auch schon mal versucht, und das ist dabei rausgekommen.
Das Script soll Karteikarten für Bücher aus einer kleinen (Schul)bücherei erstellen und von überall zugänglich sein.

Zitat:
Original von LX
Ja, packe nicht alles in ein einziges Formular, sondern bearbeite die Daten zeilenweise. Du könntest beispielsweise jeden Datensatz in ein Formular mit eigenem Submit-Button packen, dann wird immer nur ein Datensatz aktualisiert und nicht die ganze Liste, bei der sich 99% der Felder wahrscheinlich nicht mal geändert haben.
Das Problem ist, dass man mehrere Einträge gleichzeitig aus der Liste auswählen können soll.
Eydeet ist offline   Mit Zitat antworten
Alt 27.05.06, 10:21   #7 (permalink)
 
Registriert seit: 20.11.05
CraHack Leistung: Facit NTK
Likes: 0
Standard

Dann mach doch ein Javascript das dafür sorgt das nur die Daten gesendet werden, die auch ausgewählt/geändert wurden.
CraHack ist offline   Mit Zitat antworten
Alt 27.05.06, 14:27   #8 (permalink)
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard RE: PHP: Automatisch erstelltes Formular weiterverarbeiten

Zitat:
Original von Ar-ras

(...)
Also ich bin kein SQL Experpte aber ich glaub man kann die Ergebnisse limitieren...
wenn du in google was suchst zeigt der dir auch nicht 1 mio ergebnisse an
Doch, wenn du nach "porn" suchst schon... aber wie gesagt auf mehreren seiten.

Das Zeuberwort heißt limit. mit limit 1 kann man den SQL server anweisen nur den erstbesten treffer zurückzugeben. mit limit 30,20 gibt man 20 datensätze ab treffer 30 zurück.

siehe: MySQL-Referenz-> SELECT
flame ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » PHP: Automatisch erstelltes Formular weiterverarbeiten
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Flash AS 2 | PHP Variablen laden und weiterverarbeiten [gelöst] Brabax (Web-) Design und webbasierte Sprachen 1 13.09.09 16:58
MDI Formular schließen mastermix252 Code Kitchen 2 26.01.08 20:28
Formular im Vordergrund mastermix252 Code Kitchen 4 11.12.07 22:29
Problem mit Formular cw125 (Web-) Design und webbasierte Sprachen 2 20.10.05 20:01
formular sendet automatisch Brainscan Code Kitchen 0 07.05.04 10:08


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61