Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 13:19 Der er 22 kommentarer og
2 løsninger

Nr. på post vha. adresse

Hej!

Ja, jeg ved det. Overskriften lyder lidt mystisk - så lad mig lige forklare det lidt bedre.

Jeg skal kalde nogle informationer fra en MySQL-database. Jeg bruger selvfølgelig bare:

    $data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE 1 ");
    while ($row = mysql_fetch_array($data))
    mysql_close;

Det fungerer jo fint - og helt uden problemer. Men nu vil jeg gerne have den til at finde et tal i adresselinien, som den sætter ind i stedet for tallet. Kryptisk?? Se her:

<?
if(isset($_GET['produkt-id'])){
$produkt_id = (isset($_GET['produkt-id']);
$post_id = $produkt_id;
}
else{
$produkt_id = "0";
$post_id = $produkt_id;
}

$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE ?><? echo "$post_id";?><? ");
while ($row = mysql_fetch_array($data))
mysql_close;
?>

Havde tænkt mig noget i den stil - men det fungerer ikke.
Er der nogen, der har en ide???? Det ville gøre mig super-kosmisk-glad.

Med venlig hilsen
Benjamin Skov Kaas-Hansen
Avatar billede ahv Nybegynder
25. juni 2003 - 13:21 #1
$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE post_id='$post_id'");
Avatar billede ahv Nybegynder
25. juni 2003 - 13:22 #2
post_id er så navnet på det felt som skal indeholde det tal.
Avatar billede well_r Nybegynder
25. juni 2003 - 13:27 #3
$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE ?><? echo "$post_id";?><? ");

til

$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE post_id='$post_id' ") or die (mysql_Error());
Avatar billede well_r Nybegynder
25. juni 2003 - 13:27 #4
hovsa.. alleredet sagt *G*
Avatar billede avminarm Juniormester
25. juni 2003 - 13:27 #5
bør nok være:
$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE post_id='".$post_id."'");
Avatar billede avminarm Juniormester
25. juni 2003 - 13:30 #6
lidt rettelser (det kan gøres kortere:

<?
if(isset($_GET['produkt-id'])){
$post_id = $_GET['produkt-id'];
}else{
$post_id= 0;
}

$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE post_id='".$post_id."'");
Avatar billede avminarm Juniormester
25. juni 2003 - 13:37 #7
svar
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:02 #8
Mange tak alle sammen - men det fungerer desværre ikke. Jeg prøver lige at sende hele koden, så er det måske nemmere at forestille sig:

----- Eksempel start -----

<?
    include "produkt_connect.php";
    if(isset($_GET['produkt-id'])){
        $produkt_id = ($_GET['produkt-id']);
        $post_id = 1;
    }
    else{
        $produkt_id = 0;
        $post_id = $produkt_id;
    }

    $data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE post_id='".$post_id."' ");
    while ($row = mysql_fetch_array($data)){
    print("$row[beskrivelse]");
    }
    mysql_close;
?>

----- Eksempel slut ------

Jeg håber det hjalp lidt på forståelsen.

Mvh. Benjamin
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:04 #9
Rettelse i linie 5:

$post_id = $produkt_id;
Avatar billede ahv Nybegynder
25. juni 2003 - 14:05 #10
Prøv ->

$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE post_id='$post_id'") or die(mysql_error());
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:07 #11
Mange tak - men det fungerer ikke!!!

Den kommer med fejlmeddelelsen:

Warning: Supplied argument is not a valid MySQL result resource in /var/www/hotels/1go/bskh/html/smart-product/index.php on line 21
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:08 #12
Bare se bort fra det der "on line 21"
Avatar billede ahv Nybegynder
25. juni 2003 - 14:08 #13
<?
    include "produkt_connect.php";
    if(isset($_GET['produkt-id'])){
        $produkt_id = ($_GET['produkt-id']);
        $post_id = 1;
    }
    else{
        $produkt_id = 0;
        $post_id = $produkt_id;
    }

    $data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE post_id='$post_id'") or die(mysql_error());
    while ($row = mysql_fetch_array($data)){
    print("$row[beskrivelse]");
    }
    mysql_close;
?>

Hvilken fejl kommer den nu med?
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:11 #14
Den skriver:

Unknown column 'post_id' in 'where clause'
Avatar billede ahv Nybegynder
25. juni 2003 - 14:12 #15
Du har ikke noget felt der hedder post_id i databasen, hvad er det for et felt i databasen du gerne vil have der skal matche $post_id ?
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:15 #16
Jeg har en tabel, der hedder products. Der skal jeg gemme en masser produkter. Der er 5 rækker:
- Produkt-id
- Produktnavn
- Produktbeskrivelse
- Billede-url
- Pris

Jeg vil bare teste med beskrivelsen - for så kan jeg jo også få det andet til at fungere. Når man så indtaster følgende i adresselinien, skal $produkt_id blive til 3, og $post_id lige så. Altså ved browseren i hvilken tabel, og række den skal hente sine informationer - nå, men her kommer sætningen til adresselinien:

?produkt_id=3

Er du med??? Det er lidt svært at forstå.
Avatar billede ahv Nybegynder
25. juni 2003 - 14:16 #17
$data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE Produkt-id='$produkt_id'") or die(mysql_error());
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:33 #18
Jeg sad lige og prøvede noget.
Her kommer koden:

<?
    include "produkt_connect.php";
    $produkt_id = 1;
    $data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE '$produkt_id' ") or die(mysql_error());
    while ($row = mysql_fetch_array($data)){
    print("$row[beskrivelse]");
    }
    mysql_close;
?>

Det fungerer fint. Men men, ved du hvordan jeg gør sådan at:

?produkt_id=1

laver "$produkt_id" om til "1"??? Hvis du kender svaret smider jeg 50 point mere oveni.
Avatar billede ahv Nybegynder
25. juni 2003 - 14:34 #19
<?
$produkt_id = $_GET['produkt_id'];

    include "produkt_connect.php";
    $produkt_id = 1;
    $data = mysql_query("SELECT `beskrivelse` FROM `products` WHERE Produkt-id='$produkt_id'") or die(mysql_error());
    while ($row = mysql_fetch_array($data)){
    print("$row[beskrivelse]");
    }
    mysql_close;
?>

?
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 14:34 #20
har selv fundet ud af det
Avatar billede ahv Nybegynder
25. juni 2003 - 14:37 #21
Virker det nu eller?
Avatar billede avminarm Juniormester
25. juni 2003 - 15:03 #22
du kan sætte produkt_id via din adresse linie i et link:

<a href="index.php?produkt_id=1">tryk her for produkt 1</a>
Avatar billede bennybangkarl Nybegynder
25. juni 2003 - 15:11 #23
Hej ahv!

Da jeg selv klarede det meste af opgaven, kan jeg tilbyde dig halvdelen af pointene i spørgsmålet.

Mvh. Benjamin
Avatar billede ahv Nybegynder
25. juni 2003 - 15:12 #24
bennybangkarl -> Fint nok.
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