select list

Status
Niet open voor verdere reacties.

ecross

Gebruiker
Lid geworden
4 mrt 2009
Berichten
638
hallo,

ik heb het onderstaande script gemaakt,
het laat zien hoe de tabel (Member) eruit ziet,
dan moet je bij kolom 4 een drop down list komen in elke regel.
de keuzes komen van namen uit een andere tabel (mensen)

nu is mijn probleem:
alleen bij de 1e regel geeft hij de reseltaten weer,
de andere regels geven alleen een 'lege' drop down list

het script:
PHP:
$query = "SELECT * FROM Member"
      or die("query");
$result = mysql_query($query)
      or die("result");
	
$query_naam = "SELECT * FROM mensen"
      or die("query_naam");
$result_naam = mysql_query($query_naam)
      or die("result_naam");

echo "<table>";
echo "<tr>";
echo "<td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td>";
echo "<form action='Member_gooimeerzeilen.php' method='GET'>";
$dag = '1';

while($row = mysql_fetch_assoc($result)) 
         {
	extract($row);
	echo '<tr>';
	echo "<td>" . $voornaam . "</td>";
	echo "<td>" . $achternaam . "</td>";
	echo "<td>" . $inlognaam . "</td>";
	echo "<input type='hidden' name='dag' value='$voornaam'>";
	$dag = $dag + 1;
	echo "<td><select name='$voornaam'>";
	while ($row_naam = mysql_fetch_assoc($result_naam))
		{ echo "<option>" . $row_naam[naam] . "</option>"; }
	echo "</select></td>";
	echo "<td><input type='submit' value='verander'></td>";
	echo '</tr>';
	}
echo '</form>';
echo '</table>';

weet iemand waar dit aan licht??
 
Laatst bewerkt:
Misschien als je van:

PHP:
echo "<option>" . $row_naam[naam] . "</option>";

eens:

PHP:
echo "<option>" . $row_naam['naam'] . "</option>";

maakt. Je weet trouwens zeker dat het veld 'naam' wel bestaat? En heb je error_reporting aan staan?
 
ik denk niet dat het daar aan licht,
omdat hij het wel 1X doet maar daarna geeft hij alleen "lege" listst
 
Ooooh, ja volgens mij is dit vrij logisch :p

Je while loop, die loopt één voor een over alle resultaten. De pointer schuift dus ook steeds een eindje op. Bij de tweede keer dat je de loop ingaat, staat de pointer dus al helemaal op het eind.

Zet eens bovenaan je while loop (regel 18):

PHP:
mysql_data_seek ( $result_naam, 0 );

Dan zet ie aan het begin van elke loop de pointer weer aan het begin en kun je de hele result-set weer gebruiken.

Voor meer informatie kun je nog even googleen op "PHP MySQL reset resultset pointer" of iets in die geest ;)
 
Laatst bewerkt:
mooi dat het werkt. Zet de vraag op opgelost aub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan