• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

While Schleife -> Nicht alle <input> felder angezeigt

Seyonne

Mitglied
Hi,

Um alle selektierten Daten gleichzeitig Ändern zu können lasse ich mir in einer while schleife zB Zeilenweise Datensätze á 23 Spalten ausgeben.

Leider haben nur sie Spalten 1 bis 17 ein <input>-Element.
Es macht keinen Unterschied ob ich 1 oder 15 Datensätze (Zeilen) ausgeben lasse...
15*17 Elemente = 255 Elemente.. deren Inhalt ich ohne Probleme in die DB schreiben kann..

Liegt das evtl. nur an 'ner Apache Einstellung?
Habe es leider noch nicht online getestet..
 
PHP:
for ( $i = 0; $i < count ( $changeu ); $i++ )
  {
   $_SESSION['changeu'][$i] = $changeu[$i];
   $result = mysql_query("SELECT * FROM user WHERE userid = ".$changeu[$i]);
   $j=0;
   while($row = mysql_fetch_array($result))
   {
       echo  "<tr>" .
               "<td><input type=\"text\" size=\"10\" name=\"userfirma[$i]\"   value=\"" .$row['userfirma']   . "\" /></td>".   //23x
 }
  }
  echo "<tr>" .
 
Was steht im Array $changeu, wie kommt es zustande? Wieviele Datensätze sind in der Tabelle user bezogen auf einen User?
 
PHP:
 echo "<td align=\"center\"><input type=\"checkbox\" name=\"changeu[]\" value=\"" . $row['userid'] . "\"></td>" .

In changeu stehen die Selektierten Datansätze der vorangehenden Auswahl drin.
Wenn 10 checkboxen gemarkt sinds 10 Schleifen.

PHP:
 while($row = mysql_fetch_array($result))
sollte doch für die 23 Spalten je nen durchlauf machen.
=> 10*23 = 230 <input> Elemente....
Bekomme aber nur 1-n * 17 Elemente
 
Als PHP und MySQL Anfänger habe ich die functions entdeckt.... blöd wenn irgendwo doch ein <b>Semikolon</b> falsch ist.
Danke fürs ansehn dennoch :D
 
Nein, die while()-Schleife geht durch die Datensätze des jeweiligen Nutzers. Nicht durch die Spalten die in der Tabelle sind. Wenn Du die Liste der Spalten der Tabelle willst, verwende statt

PHP:
$result = mysql_query("SELECT * FROM user WHERE userid = ".$changeu[$i]);

dieses Statement:

PHP:
$result = mysql_query("SHOW COLUMNS FROM tabellenname");

Die Daten des Nutzers wirst Du so aber nicht gleichzeitig mit der Spaltennamenliste laden können. Wenn es dir darum geht, musst Du die beiden o.g. Statements ineinander verschachteln.
 

Neueste Beiträge

Zurück
Oben