Topic: Paimti visus duomenis iš lentelės ir sudėti

Labas,

taigi, paaiškinsiu nuo pradžių..

Lentelėje 'lentele' yra saugomi skaitiniai duomenys. Man neina padaryti, kad paimtų visus duomenis vieno vartotojo ir juos sudėtų.

Darau taip:

$lala = mysql_query("SELECT duomenys1, duomenys2 FROM lentele WHERE vartotojas = '$vartotojas'");
      $i = 0;
      while($row = mysql_fetch_array($lala)) {
      $i++;
      $pirmas = $row["duomenys1"];
      $antras = $row["duomenys2"];
      $viso = $pirmas + $antras;
}

Jeigu lentelėje yra, tarkim, du to paties vartotojo duomenys, tai paima tik vieną, tačiau reikia, kad paimtų visus ir sudėtų.

Dėkui už pagalbą

Re: Paimti visus duomenis iš lentelės ir sudėti

Laba diena,

Visų pirmą, tu kažkodėl tą duomenų sudėjimą bandai realizuoti PHP scripto pagalba (noriu priminti, kad klausimai apie PHP labiau tinka forumo PHP skiltyje).

Toliau: tavo kintamasis $viso kiekvienoje ciklo iteracijoje įgauna kintamųjų $pirmas ir $antras reikšmių sumą. Reikia pastebėti, kad prieštai buvusios iteracijos suma yra sunaikinama, nes tu jos niekaip, niekur neišsaugai. Taigi norėdamas bendrą sumą suskaičiuoti su PHP turi susumuoti kintamojo $viso visų iteracijų sumą.

Aišku, viso šito galima išvengti viską atliekant duomenų bazėje:

SELECT SUM(duomenys1) + SUM(duomenys2) AS suma
FROM lentele
WHERE vartotojas = '$vartotojas';

Re: Paimti visus duomenis iš lentelės ir sudėti

O kaip man reiktų išsaugoti..?

Tarkim vieno vartotojo lentelėje 'lentele' saugomu keli duomenys, keliose eilutėse. Aš bandau padaryti, kad juos sudėtų, bet man sudeda tik vienos eilutės duomenis..

Patasisau prieš tai parašytą kodą:

$lala = mysql_query("SELECT duomenys1, duomenys2 FROM lentele WHERE vartotojas = '$vartotojas'");
      $i = 0;
      while($row = mysql_fetch_array($lala)) {
      $i++;
      $pirmas = $row["duomenys1"];
      $antras = $row["duomenys2"];
}
      $viso = $pirmas + $antras;

Re: Paimti visus duomenis iš lentelės ir sudėti

Xero wrote:

O kaip man reiktų išsaugoti..?

Ką išsaugoti?

Xero wrote:

Tarkim vieno vartotojo lentelėje 'lentele' saugomu keli duomenys, keliose eilutėse. Aš bandau padaryti, kad juos sudėtų, bet man sudeda tik vienos eilutės duomenis..

Taigi daviau SQL užklausą, kuri vienoje lentelėje, dviejuose stulpeliuose ęsančius vieno vartotojo duomenis susumuoja ir sudeda.

Xero wrote:

Patasisau prieš tai parašytą kodą:

$lala = mysql_query("SELECT duomenys1, duomenys2 FROM lentele WHERE vartotojas = '$vartotojas'");
      $i = 0;
      while($row = mysql_fetch_array($lala)) {
      $i++;
      $pirmas = $row["duomenys1"];
      $antras = $row["duomenys2"];
}
      $viso = $pirmas + $antras;

Visai nepanašu, kad čia ką nors būtum pataisęs. Vieną eilutę iškėlei už ciklo ribų. Norint pataisyti šitą kodą reikia cikle sudėti abiejų stulpelių duomenis ir juos kiekvienoje iteracijoje sumuoti į bendra sumą.

Ir ką pas tave daro kintamasis $i?

Re: Paimti visus duomenis iš lentelės ir sudėti

Dėkui už pagalbą, dabar viskas gerai.