Avatar billede sito Nybegynder
09. februar 2007 - 11:51 Der er 14 kommentarer

Medsendelse af variabel

Hej

Jeg forsøger at sende en variabel med til et link, men kan ikke rigtig få det til at virke. Jeg har lavet en database med vin, hvor jeg får hentet et navn ud, som jeg gerne vil sende med til en specifikationsfil, der henter alle data jeg har indtastet om en vin med et bestemt navn.

Her henter og viser jeg navnet:

<?php
                // Her hentes alle franske rødvine i databasen
                $strSQL="SELECT navn, aargang FROM frankrig WHERE type='roed'";
                $resultat = executeSQL($strSQL);
                 
                if (mysql_num_rows($resultat) == 0){
                echo "Der er ikke indtastet vine af denne type i databasen";
                }       
                else{
                while ($querydata = mysql_fetch_array($resultat)){
                $navn = $querydata[0];
                echo "<a href=\"specifikation.php?navn=$navn\" target=\"indhold\">".$querydata[0].", ".$querydata[1]."</a><br>";
                }
                }
                ?>

Og det virker fint.

Her forsøger jeg at bruge det i min specifikation.php:

<?php
                // Her hentes data om den specifikke vin
                $strSQL="SELECT navn, type, aargang, omraade, drue, points, kommentar, pris, koeb FROM frankrig WHERE navn='$navn'";
                $resultat = executeSQL($strSQL);
         
                while ($querydata = mysql_fetch_array($resultat)){
                echo "Navn: ".$querydata[0]."<br><br>";
                if ($querydata[1] = 'roed'){
                echo "Type: Rødvin <br><br>";
                else{
                echo "Type: Hvidvin <br><br>";
                }
                echo "Årgang: ".$querydata[2]."<br>";
                echo "Drue: ".$querydata[3]."<br>";
                echo "Points: ".$querydata[4]."<br>";
                echo "kommentar: ".$querydata[5]."<br>";
                echo "Pris: ".$querydata[6]."<br>";
                if ($querydata[7] = 'http%'){
                echo "Kan købes: <a href=\"".$querydata[7]."\"Link</a>";
                else{
                echo "Kan købes: ".$querydata[7];
                }
                }
                ?>

Men der kommer ingenting ud i vinduet. Det skal lige siges at executeSQL er en funktion jeg har lavet, der giver mig adgang til DB, og den virker fint og sender $resultat tilbage.

Hvbad gør jeg galt?
Avatar billede sone Nybegynder
09. februar 2007 - 11:56 #1
hvordan ser din genererede link ud i HTML?
Avatar billede sone Nybegynder
09. februar 2007 - 11:56 #2
<a href="specifikati..... ?
Avatar billede sito Nybegynder
09. februar 2007 - 12:03 #3
Ja, det skulle jeg mene.

Når man holder musen over linket på websitet står der http://www.vinkaelder.com/specifikation.php?navn=Mouton Cadet
Avatar billede sito Nybegynder
09. februar 2007 - 12:03 #4
ahh, kan være den ikke kan finde ud af mellemrummene?
Avatar billede mcgoat Nybegynder
09. februar 2007 - 12:15 #5
kunne da tænkes. kan du ikke bare sende ID på vinen med istedet for navnet og så slå op på det?
Avatar billede sito Nybegynder
09. februar 2007 - 12:36 #6
Giver desværre samme resultat.
Avatar billede sone Nybegynder
09. februar 2007 - 13:04 #7
der er vel ikke mellemrum i dit ID?
Avatar billede sito Nybegynder
09. februar 2007 - 13:23 #8
Nej, men jeg får ikke noget resultat.
Avatar billede sone Nybegynder
09. februar 2007 - 13:29 #9
så er din ID variabel nok tom
Avatar billede sito Nybegynder
09. februar 2007 - 13:33 #10
Gav dem alle sammen ID'er, men fik ikke noget resultat. Satte et af id'erne til 0, og nu vælges den række ud hver gang, uanset hvilken vin jeg vælger. Hvis jeg vælger den med id = 8 viser den altså alligevel den med id = 0.

Koden:

<?php
                // Her hentes data om den specifikke vin
               
                $strSQL="SELECT navn, type, aargang, omraade, drue, points, kommentar, pris, koeb FROM frankrig WHERE id='$id'";
                $resultat = executeSQL($strSQL);
                  $querydata = mysql_fetch_array($resultat);
   
                echo "Navn: ".$querydata[0]."<br><br>";
                if ($querydata[1] = 'roed'){
                echo "Type: Rødvin <br><br>";
                }
                else{
                echo "Type: Hvidvin <br><br>";
                }
                echo "Årgang: ".$querydata[2]."<br>";
                echo "Område: ".$querydata[3]."<br>";
                echo "Drue: ".$querydata[4]."<br>";
                echo "Points: ".$querydata[5]."<br>";
                echo "kommentar: ".$querydata[6]."<br>";
                echo "Pris: ".$querydata[7]."<br>";
                if ($querydata[8] = 'http%'){
                echo "Kan købes: <a href=\"".$querydata[8]."\"Link</a>";
                }
                else{
                echo "Kan købes: ".$querydata[8];
                }

                ?>

Måden jeg sender over:

  <?php
                // Her hentes alle franske rødvine i databasen
                $strSQL="SELECT id, navn, aargang FROM frankrig WHERE type='roed'";
                $resultat = executeSQL($strSQL);
                 
                if (mysql_num_rows($resultat) == 0){
                echo "Der er ikke indtastet vine af denne type i databasen";
                }       
                else{
                while ($querydata = mysql_fetch_array($resultat)){
                $id = $querydata[0];
                echo "<a href=\"specifikation.php?id=$id\" target=\"indhold\">".$querydata[1].", ".$querydata[2]."</a><br>";
                }
                }
                ?>
Avatar billede sito Nybegynder
09. februar 2007 - 13:35 #11
Ja, det kunne godt tyde på den var tom, men hvorfor er den det? Jeg synes da jeg udfylder den...
Avatar billede sito Nybegynder
09. februar 2007 - 13:39 #12
Når jeg holder musen over linket står ID som den skal. For alle vine.
Avatar billede sito Nybegynder
09. februar 2007 - 13:50 #13
Så lykkedes det! Jeg var nød til at bruge GET til at hente min variabel, ellers svævede den bare rundt et eller andet sted. Ved at indsætte:

$id = $_GET['id'];

Inden min select virker det!

Tak for hjælpen, hvem vil have point?
Avatar billede sone Nybegynder
09. februar 2007 - 14:30 #14
køb du bare øl for dem ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester