/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
MYSQL-forespørgsel - burde den virke!?
Fra : Julius T. Madsen


Dato : 08-09-02 15:24

sorry...jeg ved godt at det her er mysql, men det er noget jeg
skal bruge sammen med PHP og da jeg ikke kan finde noget
SQL-forum så tænkte jeg at det her forum nok er det der er mest i
familie med!

men altså -> jeg har den her mysql-forespørgsel:

$suitetitel = mysql_query("SELECT nr FROM suites WHERE navn =
'$bruger'");

og det her php-kode til at vise den:

} else if ($suitetitel >= 500){
echo " <b>Titel: <b>Suite-ejer</B><BR>";

- men den viser ikke det som jeg vil have selvom "$suitetitel >=
500" why da? er der noget galt med min forespørgsel eller hvad er
det??

håber der er en der kan=)

Dulius

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Kim Schulz (08-09-2002)
Kommentar
Fra : Kim Schulz


Dato : 08-09-02 15:31

On Sun, 8 Sep 2002 14:24:27 +0000 (UTC)
Julius T. Madsen <agf88@ofir.dk> wrote:
> sorry...jeg ved godt at det her er mysql, men det er noget jeg
> skal bruge sammen med PHP og da jeg ikke kan finde noget
> SQL-forum så tænkte jeg at det her forum nok er det der er mest i
> familie med!
>
> men altså -> jeg har den her mysql-forespørgsel:
>
> $suitetitel = mysql_query("SELECT nr FROM suites WHERE navn =
> '$bruger'");
>
herimellem skal du have en linje ala:

$row=mysql_fetch_row($suitetitle);
#altså omdanner returdata fra databasen til noget forståeligt. _row kan
#også være _array

og så går du fat i "nr" fra din query som:

$nr = $row["nr"]:
# altså du tager feltet nr ud af den række den du har fået fra databasen

> og det her php-kode til at vise den:
>
> } else if ($suitetitel >= 500){
> echo " <b>Titel: <b>Suite-ejer</B><BR>";
>
> - men den viser ikke det som jeg vil have selvom "$suitetitel >=
> 500" why da? er der noget galt med min forespørgsel eller hvad er
> det??
>
> håber der er en der kan=)

det er basal mysql/php så du skal nok læse lidt mere info om det.

--
Kim Schulz - Freelance Development | In Seattle, Washington, it is
Email : kim @ schulz.dk | illegal to carry a concealed
Tlf : 51904262 | weapon that is over six feet in

Julius T. Madsen (08-09-2002)
Kommentar
Fra : Julius T. Madsen


Dato : 08-09-02 15:37

> det er basal mysql/php så du skal nok læse lidt mere info om det.

heh - i know, men jeg læser altså ikke hurtigere end jeg gør - er ellers i
fuld gang med det!? så kan en ikke lige fortælle mig hvad der er galt? jeg
syns da det ser rigtigt ud =)


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Niels Andersen (08-09-2002)
Kommentar
Fra : Niels Andersen


Dato : 08-09-02 16:15

Julius T. Madsen wrote in <alfn9h$4ks$1@sunsite.dk>:
>> det er basal mysql/php så du skal nok læse lidt mere info om det.
> heh - i know, men jeg læser altså ikke hurtigere end jeg gør - er ellers i
> fuld gang med det!? så kan en ikke lige fortælle mig hvad der er galt?

Det har Kim allerede fortalt. Læs hans indlæg igen. :)

I øvrigt kan jeg ikke lige se hvad læsehastighed har med sagen at gøre, men
never mind. :)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Julius T. Madsen (08-09-2002)
Kommentar
Fra : Julius T. Madsen


Dato : 08-09-02 16:36

hmm...jeg har fulgt Kims vejledning! (håber jeg da - ikke slå mig hvis jeg
tager fejl) men den siger:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result
resource

nu kan i ligeså godt få hele min if-dims i stedet for:

<?
$besse = mysql_query("SELECT admin FROM sw WHERE username = '$bruger'");
$geg = mysql_fetch_array($besse);
$suitetitel = mysql_query("SELECT nr FROM suites WHERE navn = '$bruger'");
$row=mysql_fetch_row($suitetitel);
$nr = $row["nr"];
if ($geg[admin] == 0){
echo " <b>Titel: <b>Normal</B><BR>";
} else if ($geg[admin] == 25){
echo " <b>Titel: <b>Hjælper</B><BR>";
} else if ($geg[admin] == 99){
echo " <b>Titel: <b>Top-admin</B><BR>";
}
if ($nr >= 500){
echo " <b>Titel: <b>Suite-ejer</B><BR>";
}
?>


Sorry hvis jeg er lidt dum, men er ret ny indenfor PHP/MYSQL =) så i må
bære over med mig!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Finn Nielsen (08-09-2002)
Kommentar
Fra : Finn Nielsen


Dato : 08-09-02 15:49

Julius T. Madsen <agf88@ofir.dk> writes:

> og det her php-kode til at vise den:
>
> } else if ($suitetitel >= 500){
> echo " <b>Titel: <b>Suite-ejer</B><BR>";

Du er godt klar over at en "else if" kun udføres hvis udtrykket i den
foregående "if" er falsk..

--
Finn Nielsen - http://www.zznyyd.dk/

"Creatures seemed to turn up in the world randomly, and certainly not
according to any pictures in a book." - The science of Discworld

Julius T. Madsen (08-09-2002)
Kommentar
Fra : Julius T. Madsen


Dato : 08-09-02 16:16

> Du er godt klar over at en "else if" kun udføres hvis udtrykket i den
> foregående "if" er falsk..

ja - det ved jeg, men hvis jeg fjerne alle andre if-sætninger så den
står alene, så reagerer den stadig ikke på det!?


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Julius T. Madsen (08-09-2002)
Kommentar
Fra : Julius T. Madsen


Dato : 08-09-02 16:47

hmm...der skete en fejl så den postede mig indlæg inde midt i debatten!?
sorry for spam, men nu poster jeg altså igen...:

hmm...jeg har fulgt Kims vejledning! (håber jeg da - ikke slå mig hvis jeg
tager fejl) men den siger:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result
resource

nu kan i ligeså godt få hele min if-dims i stedet for:

<?
$besse = mysql_query("SELECT admin FROM sw WHERE username = '$bruger'");
$geg = mysql_fetch_array($besse);
$suitetitel = mysql_query("SELECT nr FROM suites WHERE navn = '$bruger'");
$row=mysql_fetch_row($suitetitel);
$nr = $row["nr"];
if ($geg[admin] == 0){
echo " <b>Titel: <b>Normal</B><BR>";
} else if ($geg[admin] == 25){
echo " <b>Titel: <b>Hjælper</B><BR>";
} else if ($geg[admin] == 99){
echo " <b>Titel: <b>Top-admin</B><BR>";
}
if ($nr >= 500){
echo " <b>Titel: <b>Suite-ejer</B><BR>";
}
?>



det var det...

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Niels Andersen (08-09-2002)
Kommentar
Fra : Niels Andersen


Dato : 08-09-02 17:24

Julius T. Madsen wrote in <alfrco$18a$1@sunsite.dk>:
> Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result
> resource
[...]
> $besse = mysql_query("SELECT admin FROM sw WHERE username = '$bruger'");
> $geg = mysql_fetch_array($besse);
> $suitetitel = mysql_query("SELECT nr FROM suites WHERE navn = '$bruger'");
> $row=mysql_fetch_row($suitetitel);

Du får ikke tjekket om der er fejl i din query el. lign. Prøv at udvide din
mysql_query med en "or die()":

$result = mysql_query($sql) or die("SQL fejl: ".mysql.error());

Fx:
$sql = "SELECT admin FROM sw WHERE username = '$bruger'";
$besse = mysql_query($sql) or die("SQL fejl: ".mysql.error());

(Jeg har også lige flyttet selve SQL'en lidt væk, så er det lidt mere
overskueligt.)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Julius T. Madsen (08-09-2002)
Kommentar
Fra : Julius T. Madsen


Dato : 08-09-02 17:43

> Du får ikke tjekket om der er fejl i din query el. lign. Prøv at udvide din
> mysql_query med en "or die()":

nop, der er vist ikke fejl i min query - den siger stadig:

"Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result
resource"

men måske har jeg ikke sat or die() tingen rigtigt ind:

<?
$sql = "SELECT admin FROM sw WHERE username = '$bruger'";
$besse = mysql_query($sql) or die("SQL fejl: ".mysql.error());
$geg = mysql_fetch_array($besse);
$suitetitel = mysql_query("SELECT nr FROM suites WHERE navn = '$bruger'");
$row=mysql_fetch_row($suitetitle);
$nr = $row["nr"];
if ($geg[admin] == 0){
echo " <b>Titel: <b>Normal</B><BR>";
} else if ($geg[admin] == 25){
echo " <b>Titel: <b>Hjælper</B><BR>";
} else if ($geg[admin] == 99){
echo " <b>Titel: <b>Top-admin</B><BR>";
}
if ($nr >= 500){
echo " <b>Titel: <b>Suite-ejer</B><BR>";
}
?>

er hvad jeg har gjort!?


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Peter Brodersen (08-09-2002)
Kommentar
Fra : Peter Brodersen


Dato : 08-09-02 18:04

On Sun, 8 Sep 2002 16:42:49 +0000 (UTC), Julius T. Madsen
<agf88@ofir.dk> wrote:

>$suitetitel = mysql_query("SELECT nr FROM suites WHERE navn = '$bruger'");
>$row=mysql_fetch_row($suitetitle);

Det er mysql_fetch_row(), der fejler. Derfor skal din query-linje også
her rettes til, fx:

$suitetitel = mysql_query("SELECT nr FROM suites WHERE navn =
'$bruger'") or die("SQL fejl: ".mysql.error());


Du kan evt. lave din query på forhånd, fx:
$query = "SELECT nr FROM suites WHERE navn = '$bruger'";
$suitetitel = mysql_query($query) or die("SQL fejl for query $query :
".mysql.error());

--
- Peter Brodersen

Niels Andersen (08-09-2002)
Kommentar
Fra : Niels Andersen


Dato : 08-09-02 18:45

Julius T. Madsen wrote in <alfum9$nj0$1@sunsite.dk>:
> men måske har jeg ikke sat or die() tingen rigtigt ind:
> $suitetitel = mysql_query("SELECT nr FROM suites WHERE navn = '$bruger'");

Du skal lige sætte den på *alle* dine mysql_queries. :)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Jakob Møbjerg Nielse~ (09-09-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 09-09-02 10:25

Julius T. Madsen wrote:
> $row=mysql_fetch_row($suitetitle);
> $nr = $row["nr"];

Det her duer ikke. mysql_fetch_row() returnerer kun et numereret array,
dvs. du kan ikke skrive '$nr = $row["nr"]', men kun '$nr = $row[0]'.

Hvis du vil bruge '$nr = $row["nr"]', skal du bruge en funktion der
returnerer at associativt array (det der står inde i $row[] er en nøgle
eller en key, der associereres med selve værdien, deraf navnet
"associativt array").

Disse funktioner kan være:

1. mysql_fetch_assoc(), der returnerer et associativt array.
2. mysql_fetch_array(), der returnerer et numerisk array, et associativt
array eller begge (se
http://www.php.net/manual/en/function.mysql-fetch-array.php).

--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.



Kim Schulz (08-09-2002)
Kommentar
Fra : Kim Schulz


Dato : 08-09-02 18:19


[snip]
> $suitetitel = mysql_query("SELECT nr FROM suites WHERE navn =
> '$bruger'");$row=mysql_fetch_row($suitetitle);
[snip]
>
> er hvad jeg har gjort!?

ja men du har glemt at kigge efter stavefejl. $suittitel og $suittitle
er ikke det samme.


--
Kim Schulz - Freelance Development | micro: Thinker toys.
Email : kim @ schulz.dk |
Tlf : 51904262 |

Søg
Reklame
Statistik
Spørgsmål : 177519
Tips : 31968
Nyheder : 719565
Indlæg : 6408659
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste