/ 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/php
Fra : TT


Dato : 23-02-05 20:49

Hej!

Jeg har endelig fået - lidt - hul på mysql, men der er lige et problem!
Hvordan fået jeg print'et/echo'et følgende ud på skærmen:

$result = mysql_query("SELECT * FROM olym, sd WHERE olym.nr=sd.nr") or
die (mysql_error());
   
while ($data = mysql_fetch_array($result)) {
   
   echo $data[olym.model] or die (mysql_error());
   echo $data[sd.karak] or die (mysql_error());
   
}

Query'en er god nok og giver 1 resultat, men hvordan får jeg det frem på
skærmen?

Venlig hilsen
TT

 
 
Kim Emax (24-02-2005)
Kommentar
Fra : Kim Emax


Dato : 24-02-05 07:30

TT wrote:
> Hej!
>
> Jeg har endelig fået - lidt - hul på mysql, men der er lige et problem!
> Hvordan fået jeg print'et/echo'et følgende ud på skærmen:
>
> $result = mysql_query("SELECT * FROM olym, sd WHERE olym.nr=sd.nr") or
> die (mysql_error());
>
> while ($data = mysql_fetch_array($result)) {
>
> echo $data[olym.model] or die (mysql_error());
> echo $data[sd.karak] or die (mysql_error());
>
> }
>
> Query'en er god nok og giver 1 resultat, men hvordan får jeg det frem på
> skærmen?

Det der ser næsten korrekt ud, prøv med
echo $data['olym.model'];
Tror dit punktum giver ballade og det _er_ under alle omstændigheder
mere korrekt at bruge '' om array keys

echo $data[olym.model] or die (mysql_error()); // giver ingen mening, da
det ikke er en mysql fejl, der fremkommer, hvis der er fejl, men PHP der
giver den

Du kan også teste med:
print "der er fundet " . mysql_num_rows($result) . " rækker";

Håber det hjalp dig

--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
Konsulentbistand, programmering, design & hosting.
http://www.masterminds.dk

TT (24-02-2005)
Kommentar
Fra : TT


Dato : 24-02-05 18:20

Kim Emax wrote:

> Du kan også teste med:
> print "der er fundet " . mysql_num_rows($result) . " rækker";


Hej Kim!

Den bekræfter, at der er fundet 1 række, men det hjalp ikke bruge ''
(Jeg ved ikke hvad de hedder :( ).

Venlig hilsen
TT

Peter Brodersen (24-02-2005)
Kommentar
Fra : Peter Brodersen


Dato : 24-02-05 18:30

On Wed, 23 Feb 2005 20:49:13 +0100, TT <tfg@tomsfotoguide.dk> wrote:

>   echo $data[olym.model] or die (mysql_error());
>   echo $data[sd.karak] or die (mysql_error());

Det er kun feltnavnet, der bliver brugt som key i det associative
array.

Altså $data['model'] og $data['karak'] .

--
- Peter Brodersen

TT (24-02-2005)
Kommentar
Fra : TT


Dato : 24-02-05 20:04

Peter Brodersen wrote:

> Det er kun feltnavnet, der bliver brugt som key i det associative
> array.
>
> Altså $data['model'] og $data['karak'] .


OK, tak skal du ha!
Men spørgsmålet er så hvordan jeg får data ud af to eller flere
forskellige tabeller?

Venlig hilsen
TT

Peter Brodersen (25-02-2005)
Kommentar
Fra : Peter Brodersen


Dato : 25-02-05 14:17

On Thu, 24 Feb 2005 20:04:29 +0100, TT <tfg@tomsfotoguide.dk> wrote:

>Men spørgsmålet er så hvordan jeg får data ud af to eller flere
>forskellige tabeller?

Det lader det da til at du netop gør?

Men hvis to felter hedder det samme i forskellige tabeller (fx
olym.info og sd.info - for nu at vælge nogle generiske navne), så kan
du for eksempel bruge et alias:
SELECT olym.info, sd.info AS sdinfo FROM olym, sd WHERE olym.nr=sd.nr

Her vil mysql_fetch_array() så give et array med hhv. 'info' og
'sdinfo' som keys:
print $data['info'];
print $data['sdinfo'];

Du kan også bruge mysql_fetch_row() i stedet for mysql_fetch_array().
Så tilgår du de enkelte felter alt efter hvilket nummer, de er i
resultatsættet. Fx:
print $data[0];
print $data[1];

Du kan læses mere om funktionerne i php-manualen.

--
- Peter Brodersen

TT (25-02-2005)
Kommentar
Fra : TT


Dato : 25-02-05 17:40

Peter Brodersen wrote:

>
> Men hvis to felter hedder det samme i forskellige tabeller (fx
> olym.info og sd.info - for nu at vælge nogle generiske navne), så kan
> du for eksempel bruge et alias:
> SELECT olym.info, sd.info AS sdinfo FROM olym, sd WHERE olym.nr=sd.nr
>
> Her vil mysql_fetch_array() så give et array med hhv. 'info' og
> 'sdinfo' som keys:
> print $data['info'];
> print $data['sdinfo'];
>
> Du kan også bruge mysql_fetch_row() i stedet for mysql_fetch_array().
> Så tilgår du de enkelte felter alt efter hvilket nummer, de er i
> resultatsættet. Fx:
> print $data[0];
> print $data[1];


Tusind tak, nu virker det!!!!!
Jeg vil være dig taknemmelig til evig tid !!

God weekend,
TT

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste