/ 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
SELECT med to parametre, heraf en sum
Fra : J Christensen


Dato : 09-02-05 19:46

Jeg skal lave en forespørgsel, hvor det ene af where-parametrene er summen
af nogle felter.

Eksempel: felterne landmand, omraade, gris, ko, faar

Med inspiration i et tidligere indlæg her i gruppen har jeg lavet denne
konstruktion:

$foresp = mysql_query("SELECT *, gris+ko+faar AS dyrehold FROM tblDyr
WHERE omraade = 'Sønderjylland' AND dyrehold > 100");

Det giver bare intet resultat.

Har også prøvet at foretage afgrænsningen nede i while-sætningen:

while ($raekke = mysql_fetch_array($foresp)) {
extract($raekke);
$dyr_ialt = $grise+$køer+$får;
$dyr_ialt >100;
}

Men det går heller ikke godt.

Er der nogen, der kan hjælpe?

Mvh.
Janni Christensen



 
 
Thomas Finnerup (09-02-2005)
Kommentar
Fra : Thomas Finnerup


Dato : 09-02-05 21:19

On Wed, 9 Feb 2005 19:45:46 +0100, "J Christensen"
<christensenjanni@hotmail.com> wrote:

> $foresp = mysql_query("SELECT *, gris+ko+faar AS dyrehold FROM tblDyr
> WHERE omraade = 'Sønderjylland' AND dyrehold > 100");

Du kan ikke referere til en aliaset kolonne i WHERE-delen, så din
forespørgsel skal ændres til: SELECT *, gris+ko+faar AS dyrehold FROM
tblDyr WHERE omraade = 'Sønderjylland' AND gris+ko+faar > 100

> while ($raekke = mysql_fetch_array($foresp)) {
> extract($raekke);
> $dyr_ialt = $grise+$køer+$får;
> $dyr_ialt >100;

Den sidste linie returnerer TRUE eller FALSE, men resultatet smides
væk og bruges dermed ikke til noget. Prøv i stedet med dette:

if ($dyr_ialt > 100)
{
// skriv eller gør noget.
}


Venligst
Thomas

J Christensen (10-02-2005)
Kommentar
Fra : J Christensen


Dato : 10-02-05 20:31

"Thomas Finnerup" <TF@Picco.dk> wrote in message
news:lprk0118dcs2t5nepjlcct8dc8ovomso0t@4ax.com...
>
> > while ($raekke = mysql_fetch_array($foresp)) {
> > extract($raekke);
> > $dyr_ialt = $grise+$køer+$får;
> > $dyr_ialt >100;
>
> Den sidste linie returnerer TRUE eller FALSE, men resultatet smides
> væk og bruges dermed ikke til noget. Prøv i stedet med dette:
>
> if ($dyr_ialt > 100)
> {
> // skriv eller gør noget.
> }

Tak for hjælpen!

Jeg havde faktisk også leget lidt med "if", men havde fået det puttet ind et
forkert sted (rundt om while-sætningen i stedet for inden i den), og så
hjalp det jo lige lidt. Men nu kører det

Mvh.
Janni Christensen



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

Månedens bedste
Årets bedste
Sidste års bedste