webForumDet fria alternativet

fetch_object

2 svar · 259 visningar · startad av Galifante

GalifanteMedlem sedan sep. 200246 inlägg
#1

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?

jawbreakerMedlem sedan jan. 2003294 inlägg
#2

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.

GalifanteMedlem sedan sep. 200246 inlägg
#3

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.

Genererad på 385 ms · cache AV · v20260730165559-full.f96bc7eb