Avatar billede maqhem Nybegynder
06. juni 2006 - 14:09 Der er 7 kommentarer og
1 løsning

Dette kan vel gøres nemmere, ikke?

Det duer optimalt sådan hér:

$pladsholder = mysql_fetch_array(mysql_query('select SQLvarA from SQLtabel where SQLvarB = \'noget\''));
print $pladsholder[0];

Kan det ikke gøres i én linie? Nu har jeg prøvet med følgende:

print mysql_fetch_array(mysql_query('select SQLvarA from SQLtabel where SQLvarB = \'noget\''));[0];

Men det duer ikke - hvorfor ikke? Og hvordan kan det gøres uden en pladsholder?
Avatar billede maqhem Nybegynder
06. juni 2006 - 14:11 #1
Der skulle stå følgende nederst:

print mysql_fetch_array(mysql_query('select SQLvarA from SQLtabel where SQLvarB = \'noget\''))[0];

... har også prøvet:

print mysql_query('select SQLvarA from SQLtabel where SQLvarB = \'noget\'');

- men uden held :(
Avatar billede fixxxer Nybegynder
06. juni 2006 - 14:15 #2
Hvad vil du opnå?
Avatar billede maqhem Nybegynder
06. juni 2006 - 14:17 #3
glemte jeg at sige...

Jeg vil hente dataen ud: Dér, hvor SQLvarB er 'noget' skal den udtage SQLvarA

:)
Avatar billede fixxxer Nybegynder
06. juni 2006 - 15:09 #4
Nu tænkte jeg mere på hele din bagtanke med optimeringen.

Hvad forventer du vil være mere optimalt ved at gøre det på een linje frem for 2?
Avatar billede maqhem Nybegynder
06. juni 2006 - 16:36 #5
jeg slipper for at lave en variabel mere - jeg komprimerer alt til det mindste helst, så fortæl mig hvordan det gøres - ellers fortæl mig, om det overhovedet kan lade sig gøre :)
Avatar billede fixxxer Nybegynder
06. juni 2006 - 17:10 #6
Det korte svar er, at det ikke kan lade sig gøre.

Du kan selvfølgelig lave en  wrapper function der gør det på en linje, men det er mere for overblikkets skyld..


Umiddelbart lader det til at du er ude efter noget, der hvad angår performence, er mest optimalt. Hvis det er tilfældet, skal du ikke tænke i hvor mange linjer et script fylder, men hvad det scriptet gør på hver linje.
Derfor er det mest optimale altså i dit tilfælde:

- Fetch data til et array
- Print array'ets første række

Ganske som du har gjort.


Men du kan optimere din fetch:
$pladsholder = mysql_fetch_row(mysql_query('select SQLvarA from SQLtabel where SQLvarB = \'noget\''));

Her hentes kolonnerne ud fra deres numeriske placering i tabellen, og ikke deres associative navne. Omvendt kan du bruge mysql_fetch_assoc() til det modsatte.
mysql_fetch_array() er altså en sammensætning af de to.
Avatar billede maqhem Nybegynder
06. juni 2006 - 17:25 #7
okay, mange tak fixxxer
Avatar billede fixxxer Nybegynder
06. juni 2006 - 17:51 #8
Velbekommen :)
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