15. november 2002 - 12:05Der er
64 kommentarer og 1 løsning
Læg 2 eller flere tal sammen
Hejsa.
Jeg har en MySql database hvor der bliver oprettet nogle data. F.eks er der et felt der hedder pris, hvor man når man så har lavet noget bliver registreret i databasen med værelses nummer (Jeg simulerer et hotel), dato og tid, pris og ydelse. Nu vil jeg gerne have, at hvis det enkelte værelse ser f.eks flere film i løbet af deres ophold, bliver udskrevet og prisen for de forskellige lagt sammen i et PHP script. Det eneste jeg lige mangler er at få prisen lagt sammen igennem PHP. Mvh Fritter
Ja, det lyder meget sandsynligt, men problemet ved dette er, at det hele skal forgå automatisk. Det vil sige at det jo er forskelligt hvor mange gange man ser en film eller noget. Man kan jo risikere at de ser en film 30 gange i løbet af deres ophold.
fritter: Problemer er så, at der findes hundrevis af forskellige svar til et så generelt formuleret spørgsmål, da svaret afhænger af din eksisterende kode samt af din database-struktur!
NB: Du skal bruge "Svar" når du reelt set besvarer dit spørgsmål eller ønsker at lukke det!
<? $result=mysql_query("SELECT SUM(det_hele) AS kr_ialt FROM din_base WHERE bruger = 'bruger_1'"); $row=mysql_fetch_array($result); echo $row["kr"]; ?>
<? $result=mysql_query("SELECT SUM(det_hele) AS kr_ialt FROM din_base WHERE bruger = 'bruger_1'"); $row=mysql_fetch_array($result); echo $row["kr_ialt"]; ?>
eller bare:
<? $result=mysql_query("SELECT SUM(det_hele) AS kr_ialt FROM din_base WHERE bruger = 'bruger_1'") or die(mysql_error()); $beloeb = mysql_result($result,0); echo $beloeb; ?>
Hej folkens. Nu har jeg siddet og studeret jeres eller glimrende forslag, men jeg kan bare ikke få lortet til at virke. Jeg får fejlen: Warning: Unable to jump to row 2 on MySQL result index 2 in c:\programmer\easyphp\www\index.php on line 50 Jeg vedlægger lige koden, så kan I måske se hvor det går galt.
$result=mysql_query("SELECT Pris AS kr_ialt FROM hotel WHERE vaerelse = '%$query%'") or die(mysql_error()); $beloeb = mysql_result($result,2); echo $beloeb;
Det er også en fejl. Jeg prøvede at eksperimentere lidt med koden, så jeg ændrede den til 2 istedet for 0. Den skriver det samme om jeg bruger 2 eller 0. Désuden har jeg ingen anelse om hvad det 0 skal gøre godt for, men nu er det ihvertfald blevet ændret tilbage til 0
$result=mysql_query("SELECT Pris AS kr_ialt FROM hotel WHERE vaerelse = '%$query%'") or die(mysql_error()); while ($beloeb = mysql_fetch_array($result)){ $beloeb = $result["pris"]; echo $beloeb; }
$result=mysql_query("SELECT Pris AS kr_ialt FROM hotel WHERE vaerelse = '%$query%'") or die(mysql_error()); while ($saadan = mysql_fetch_array($result)){ $beloeb = $saadan["pris"]; echo $beloeb; }
$result=mysql_query("SELECT Pris AS kr_ialt FROM hotel WHERE vaerelse = '%$query%'") or die(mysql_error()); while ($saadan = mysql_fetch_array($result)){ $beloeb = $saadan["kr_ialt"]; echo $beloeb; }
Nu brugte jeg din sidste kode, og den melder ikke fejl på den, så mange tak for det, men tilgengæld skriver den ikke noget resultat ud. Jeg tjekkede min DB og der ligger 2 værdier på 40 og 45 og de skulle jo gerne skrives ud hvor de er lagt sammen til 85
<? $result=mysql_query("SELECT SUM(pris) AS kr_ialt FROM din_base WHERE vaerelse = 'noget'"); $row=mysql_fetch_array($result); echo $row["kr_ialt"]; ?>
Prøv lige dette - og ret 'noget' til det det skal være....
Det virker fint, hvis jeg ændrer "noget" til 100 som er det værelse hvor der er oprettet data til. Problemet er jo, at jeg gerne vil have at man bare indtaster et værelses nummer, og så søger programmet efter det værelse i databasen og udskriver det samlet resultat. Det virker bare ikke hvis jeg bruger '%$query%'
Jeg prøvede funktionen "...vaerelse LIKE '%$query%'" med det resultat at den lagde det samlede resultat sammen for alle værelserne (Det er der nok nogle gæster der ikke er helt tilfreds med:-))) Den anden funktion "...eller vaerelse = '$query'" skete der ikke noget ved.
Jeg har oprettet 2 forskellige priser til det samme værelse. Altså de har set 2 forskellige film med hver deres pris. Min DB er som følger Database : Account Tabel : hotel Under hotel er der Værelse, Pris, Dato / Tid, Ydelse
Jeg bruger PHPmyAdmin til at oprette Databasen med. Under feltet "Pris" er der nogle funktioner som jeg kan slå til. Feltnavn = Pris Datatype = INT Længde/Værdi = 7 Attributter = Den er blank Nul Værdi = Not null Standard værdi = 0 Ekstra = Den er også blank
Jeg har ændret alt til småt; både i DB og i koden. Nu har jeg også sat citationstegn omkring samlet (Det har jeg ændret det til), men der sker stadig ingenting
Jeg kom vidst til at acceptere dit svar, så du har fået de point jeg satte på højkant. Det var også velfortjent:-)) Jeg opretter lige et nyt spørgsmål under navnet "Fritter" Så kan vi forsætte der. Så sætter jeg nogle flere point på højkant til dig
Synes godt om
Ny brugerNybegynder
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.