Avatar billede pmedia Nybegynder
17. april 2003 - 19:43 Der er 23 kommentarer og
1 løsning

Udtræk alle Rows undtagen ID=X

Jeg har denne kode som skulle udtrække alt fra en Sql table undtagen den aktive ID:

<?php

$tal = 1;
$exempt = $movieid;
$res = mysql_query("SELECT * FROM product ORDER BY newsrating");
while($ud = mysql_fetch_array($res)) {
if ( $tal <> $exempt ) {

?>

<a href="test.php?movie=<? print $ud["id"]; ?>"></a>

<?

}

$tal += 1;
}


?>

det virker bare ikke helt som det skal :(

jeg har en side som har et produkt i fokus øverst på siden, dette bliver valgt udfra fx. movie=3  hvor produktet som ligger i row 3 i db'en så vil være i fokus og nedenunder skal der så være links til de resterende produkter undtagen det produkt som er i fokus.. håber det giver lidt mening! :)

hvis row 3 er i fokus, så skal linksene nedenunder være sådan:

produkt 1, produkt 2, produkt 4, produkt 5 <br>
.... osv

Håber dette kan laves?
Avatar billede pmedia Nybegynder
17. april 2003 - 19:46 #1
Hvis jeg skal forklare noget mere detaljeret så sig endelig til!
Avatar billede schaefner Juniormester
17. april 2003 - 19:46 #2
Prøv:
$res = mysql_query("SELECT * FROM product ORDER BY newsrating WHERE id != $tal");
Avatar billede schaefner Juniormester
17. april 2003 - 19:47 #3
Skal lige være:
$res = mysql_query("SELECT * FROM product WHERE id != $tal ORDER BY newsrating");
Avatar billede schaefner Juniormester
17. april 2003 - 19:48 #4
Så det bliver noget ala det her:

<?php
$tal = 1;
$res = mysql_query("SELECT * FROM product WHERE id != $tal ORDER BY newsrating");
while($ud = mysql_fetch_array($res)) {
    echo "<a href=\"test.php?movie=$ud[id]\"></a>";
}
?>
Avatar billede schaefner Juniormester
17. april 2003 - 19:51 #5
$tal er så det aktive id.
Avatar billede pmedia Nybegynder
17. april 2003 - 20:01 #6
den udskriver det produkt øverst fint nok.. men nedenunder hvor den skulle udskrive de resterende kommer denne fejl:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result ?
Avatar billede schaefner Juniormester
17. april 2003 - 20:02 #7
Prøv lige:

$res = mysql_query("SELECT * FROM product WHERE id != $tal ORDER BY newsrating") or die(mysql_error());
Avatar billede pmedia Nybegynder
17. april 2003 - 20:09 #8
jeg hadve lavet en fejl, newsrating skulle være "rating".. den kommer ikke med nogen fejl mere, men der kommer intet udtræk under det aktive id?

<?php
$tal = 1;
$res = mysql_query("SELECT * FROM produkt WHERE id != $tal ORDER BY rating") or die(mysql_error());
while($ud = mysql_fetch_array($res)) {
    echo "<a href=\"test.php?movie=$ud[id]\"></a>";
}
?>
Avatar billede schaefner Juniormester
17. april 2003 - 20:10 #9
echo "<a href=\"test.php?movie=$ud[id]\"></a>";

Du mangler at skrive hvad der skal stå i linket
Avatar billede schaefner Juniormester
17. april 2003 - 20:11 #10
F.eks.:
echo "<a href=\"test.php?movie=$ud[id]\">$ud[titel]</a><br>";
Avatar billede pmedia Nybegynder
17. april 2003 - 20:17 #11
ahh Doh! :-)  det virker dog stadig ikke helt, det samme sker som skete ved min kode.. hvis jeg loader siden med id 1.. så udskriver den rigtigt nok id2 og id3 nedenunder.. men hvis siden loades med id=2 så udskriver den links til id2 og id3 .. istedet for id1 og id3?  (der er kun 3 rows i db'en nu)
Avatar billede schaefner Juniormester
17. april 2003 - 20:19 #12
Du har fjernet:
$tal = 1;

Så den ikke altid tager id 1, ligemeget hvad du vælger?
Avatar billede schaefner Juniormester
17. april 2003 - 20:20 #13
<?php
$id = $_GET['movie'];
$res = mysql_query("SELECT * FROM produkt WHERE id != $id ORDER BY rating") or die(mysql_error());
while($ud = mysql_fetch_array($res)) {
    echo "<a href=\"test.php?movie=$ud[id]\">$ud[titel]</a><br>";
}
?>
Avatar billede pmedia Nybegynder
17. april 2003 - 20:26 #14
ok super, det virker! mange tak.. hvis jeg nu have 20 produkter i db'en og jeg gerne ville have den til at udskrive dem som
1,2,3,4,5 <br>
6,7,8,9,10 <br>
... osv ved du hvordan det gøres? som du nok kan læse er jeg ret meget nybegynder!!
Avatar billede schaefner Juniormester
17. april 2003 - 20:27 #15
Laver lige et eksempel til dig.
Avatar billede pmedia Nybegynder
17. april 2003 - 20:27 #16
ok betyder det noget for ydelsen at jeg stopper phpen og starter den igen ofte? for at sætte html ind imellem.. det virker lettest på den måde men kan se du bruger det der Echo istedet?
Avatar billede pmedia Nybegynder
17. april 2003 - 20:28 #17
ok lyder godt med et eksempel!
Avatar billede schaefner Juniormester
17. april 2003 - 20:29 #18
Hvis der er meget html, så vil det være nemmere at afslutte php-koden og så starte igen.
Avatar billede schaefner Juniormester
17. april 2003 - 20:30 #19
Men i det jeg har skrevet vil det ikke rigtig kunne betale sig.
Avatar billede schaefner Juniormester
17. april 2003 - 20:33 #20
Prøv:

<?php
$id = $_GET['movie'];
$counter = 1;
$res = mysql_query("SELECT * FROM produkt WHERE id != $id ORDER BY rating") or die(mysql_error());
while($ud = mysql_fetch_array($res)) {
    echo "<a href=\"test.php?movie=$ud[id]\">$ud[titel]</a>, ";
    if($counter == 5) {
        $counter = 0;
        echo "<br>";
    }
    $counter++;
}
?>
Avatar billede pmedia Nybegynder
17. april 2003 - 20:36 #21
det virker perfekt! tusind tak - hvordan giver jeg dig pointene?
Avatar billede schaefner Juniormester
17. april 2003 - 20:37 #22
ved at jeg lægger et nyt svar :)
Avatar billede pmedia Nybegynder
17. april 2003 - 20:40 #23
cool takker :)
Avatar billede schaefner Juniormester
17. april 2003 - 20:42 #24
Var så lidt :)

/Jesper Sørensen
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