Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
auslesen klappt nicht ganz [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
auslesen klappt nicht ganz


 
Mickl
24-09-2004, 14:32 
 
Ich habe eine Formular das schon aus einer DB erzeugt wird.


<?
$sql="Select * from nw_ort ORDER BY sortid ASC";
$query=mysql_query($sql);
while($daten=mysql_fetch_array($query)){

$anzahl=$daten[3];

for($c=1; $anzahl>=$c; $c++){
?>

<select name="<? echo "b".$daten[0]."[]"; ?>" id="<? echo "b".$daten[0]."[]"; ?>">
<option value="0" selected></option>
<?
$sql01="Select * from nw_user ORDER BY name ASC";
$query01=mysql_query($sql01);
while ($name=mysql_fetch_array($query01)){

echo '<option value="'.$name[0].'">'.$name[2].', '.$name[3].'</option>';
}
?>
</select>

<? } ?>



folglich entsteht dieser HTML Code. Er stimmt.

Es sind noch ein paar Tabellen dazwischen haben deshalb nur das wichtige reinkopiert.



<td><select name="b1[]" id="b1[]">
<option value="0" selected></option>
<option value="6">NAME 1</option>
<option value="5">NAME 2</option>
<option value="1">NAME 3</option> </select></td>

<td><select name="b1[]" id="b1[]">
<option value="0" selected></option>
<option value="6">NAME 1</option>
<option value="5">NAME 2</option>
<option value="1">NAME 3</option> </select></td>


Es erschient 2 mal das gleich weil in der DB hinterlegt ist das dieses Auswhlfeld 2 mal erscheinen soll deshalb der Arrayansatz.

Nun habe ich folgenden Code um es auszulesen:



$sql="Select * from nw_ort ORDER BY sortid ASC";
$query=mysql_query($sql);
while($daten=mysql_fetch_array($query)){

$c=0;
$into="$b".$daten[0];


while ($into[$c]){
$sql01="Select * from nw_user WHERE id='".$into[$c]."'";
$query01=mysql_query($sql01);
$name=mysql_fetch_array($query01);
echo "<br>- ".$name[2].", ".$name[3];
$c++;}

}



Ausgegeben wird nur einmal eine 1.

mehr nicht.

 
NielsRunge
24-09-2004, 18:22 
 
$sql="Select * from nw_ort ORDER BY sortid ASC";
$query=mysql_query($sql);
while($daten=mysql_fetch_array($query)){

$c=0;
$into="$b".$daten[0];


while ($into[$c]){
$sql01="Select * from nw_user WHERE id='".$into[$c]."'";
$query01=mysql_query($sql01);
$name=mysql_fetch_array($query01);
echo "<br>- ".$name[2].", ".$name[3];
$c++;}

}

und da wird jetzt eine "1" ausgegenben?
Was ist "$b"?
Benutze bitte nicht "SELECT * FROM table" sondern "SELECT feld1, feld2 as bla FROM tabelle"
Was ist $daten[0]? Die Tabellenstruktur wäre recht sinnvoll.


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:30 Uhr.