Felet är att du har döpt din selectbox till "namn", men försöker ta emot datat som postas därifrån med $_POST['pnamn'] - d.v.s namnen du använder matchar inte...
Ändra
<select name="namn">
till
<select name="pnamn">
så borde det fungera.
2 svar · 261 visningar · startad av Galifante
Hej!
Jag ska hämta data ur en tabell och vill först ha en select där man kan välja vad man vill ha utskrivet. Selecten funkar, men sedan skriver den inte ut nånting.
Jag har hämtat koden på idg:s PHP-skola, så den borde ju funka, men det gör den alltså inte....
Databskopplingen heter $dl, tabellen pojknamn och posten pnamn.
Så här ser koden ut:
<form method="POST" action="test2.php">
<select name="namn">
<?php
$hamta = "SELECT pnamn FROM pojknamn";
$resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
while($rad = mysql_fetch_array($resultat))
{
print("<option value=" . $rad["pnamn"] . ">" . $rad["pnamn"]);
}
mysql_free_result($resultat);
?>
</select>
<input type="submit" value="Hämta">
</form>
<?php
if(!empty($_POST['pnamn']))
{
$namn = $_POST['pnamn'];
$hamta = "SELECT * FROM pojknamn WHERE pnamn= '$namn'";
$resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
$rad = mysql_fetch_object($resultat);
print("Hämtade begärt namn: <b>");
print($rad->namn . "</b>");
mysql_free_result($resultat);
}
?>
<?php
mysql_close($dl);
?>
Vad är det för fel? Och varför får jag scriptfel när jag stänger kopplingen direkt efter sista mysql_free_result?
Felet är att du har döpt din selectbox till "namn", men försöker ta emot datat som postas därifrån med $_POST['pnamn'] - d.v.s namnen du använder matchar inte...
Ändra
<select name="namn">
till
<select name="pnamn">
så borde det fungera.
Tack, tack!
Kom på det efter ett tag, ibland är man ju dummare än tåget.... *suckar*
Tack för hjälpen i alla fall, det känns bra att veta att det finns barmhärtiga själar där ute som är villiga att slänga ut en hand när man behöver det.