Avatar billede delphiuser Mester
20. januar 2014 - 16:01 Der er 12 kommentarer og
1 løsning

tæller og kategorivisning.

Hej eksperter.

jeg har lavet et lille script som jeg ikke kan få til at fungere.
den skal liste nogle kategorier det virker. Men den vil ikke tælle og kommer også med en fejl fra min liste script.

sådan her ser min kode ud.

<?php
$sql = "select count(*) from categories, movies where categories.cat_id = movies.movie.genre";
$query = mysql_query($sql);
$total = mysql_result($query, 0);

$query = "select * from categories order by categories";
$cat = mysql_query($query);
if(mysql_num_rows($cat)==0) {
    echo 'Der er ikke nogen kategorier endnu';
} else {
    while($row = mysql_fetch_assoc($cat)) {
        echo '<li><a href="#">'.$row[''].'</a> ('.$total.')</li>';
    }
}
?>

jeg får disse 2 fejl meddelelser...

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\movies\inc\genre.php on line 5

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\movies\inc\genre.php on line 9

kan i hjælpe med at få dette rettet til så jeg kan komme videre.

Venlig hilsen

Delphiuser
Avatar billede Slater Ekspert
20. januar 2014 - 16:30 #1
Du mangler, med mindre du bare har udeladt det, overhovedet at forbinde til databasen. Og når det er gjort, skal det connection objekt du får tilbage smides ind i alle mysql_query kald som andet parameter.

Altså først
$conn = mysql_connect('localhost', 'username', 'password');
mysql_select_db("database", $conn);

og så
mysql_query($sql, $conn);

- Men du bør også gå over til mysqli i stedet for mysql-extensionen, som er ved at blive forældet.
20. januar 2014 - 16:33 #2
Den warning, at der forventes en resource, boolean given, kommer ofte for, når en database forespørgsel ikke giver noget resultat.  I så fald returneres FALSE.

Så prøv at undersøge om din query 'select * from categories order by categories' giver resultat.  Kan det for eksempel tænkes at du i tabellen categories ikke har et felt der hedder categories?
20. januar 2014 - 16:35 #3
Jeg fik ikke set #1 før jeg fik mit indlæg skudt af.  En grund til at der ikke kommer resultat kan naturligvis også være at du ikke er forbundet med databasen.
Avatar billede delphiuser Mester
20. januar 2014 - 22:26 #4
Jeg forbinder via en fil der bliver included.
Avatar billede delphiuser Mester
20. januar 2014 - 22:31 #5
fejlen i linie 9 er rettet og den del køre nu. Nu er det bare min tælle del der ikke virker.

$sql = "select count(*) from categories, movies where categories.cat_id = movies.movie.genre";
$query = mysql_query($sql);
$total = mysql_result($query, 0);

den kommer stadigvæk med fejlen:

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\movies\inc\genre.php on line 5
20. januar 2014 - 23:03 #6
Jamen så er det nok queryen
'select count(*) from categories, movies where categories.cat_id = movies.movie.genre'
der giver et tomt resultat.  Har du prøvet at gå ind i PhpMyAdmin eller på anden vis gå direkte ind i mysql og køre queryen der?  Og giver det et resultat?

Jeg må tilstå, at jeg er lidt i tvivl med hensyn til queryen.  Er der i tabellen `movies` et felt der hedder `movie.genre` ?  Jeg var ikke klar over, at det var lovligt med et punktum i et feltnavn.
Avatar billede Slettet bruger
21. januar 2014 - 08:22 #7
Det er altid en god idé lige at evaluere et resultat inden man sender det videre:


$query = mysql_query($sql);"

if (false == $query) {
    die('Error:' . mysql_error());
}

$total = mysql_result($query, 0);

Derudover tror jeg også problemet ligger i dit SQL kald da jeg tror den fejler på movies.movie.genre af samme årsag som Christian_Belgien påpeger
Avatar billede delphiuser Mester
21. januar 2014 - 13:09 #8
Christian_Belgien du gav mig lige det hint jeg havde brug for. og det var en _ som var forbyttet med et . så mange tak for hjælpen til jer alle sammen.

så nu må i blive enige om hvem der skal have de 15 point.
Avatar billede Slettet bruger
21. januar 2014 - 13:12 #9
Dem har Christian_Belgien vist fortjent :)
Avatar billede delphiuser Mester
21. januar 2014 - 13:24 #10
Christian_Belgien kom med et svar og pointene er dine
21. januar 2014 - 13:42 #11
I så fald, svar fra mig.
27. januar 2014 - 16:05 #12
delphiuser, kom du fra det igen?  Hvis du har ændret mening med hensyn til pointgivning, så accepter en andens svar eller opret selv et svar.  Men det ville være godt at få spørgsmålet lukket.
Avatar billede delphiuser Mester
31. januar 2014 - 12:36 #13
Christian_Belgien undskyld mange gange ventetiden. men har været på hospitalet et stykke tid. endnu engang undskyld mange gange...
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