• 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..
 
Werbung:
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>" .
 
Werbung:
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
 
Werbung:
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.
 
Zurück
Oben