Avaleht
uus teema   vasta Tarkvara »  WWW »  Php ja SQL loop märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 31.05.2009 01:50:13 Php ja SQL loop vasta tsitaadiga

Tervist,
Võtan MySQL tabelist while'ga kõik väärtused ( 10).
Aga iga väärtuse taha oleks vaja kirjutada number mis on eelmisest 1 võrra suurem.
Näiteks
Väärtus1
Väärtus2
Väärtus3
--//--
Väärtus10

Proovisin php loop lisada. Tulemuseks sain selle, et korrutas veel andmebaasist tulnud andmed kümnega.
Näide
Auto1
Auto2
--//--
Auto9
Auto10
Toit1
Toit2
--//--
Toit9
Toit10
Kuidas teha nii, et tervet listi ta ei korruta 10 läbi. Vaid lisaks iga väärtuse löppu ainult nr?
Auto1
Toit2
jne.
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 31.05.2009 02:07:36 vasta tsitaadiga

Näita praegust koodi ja küll siis ümber saab see tehtud.
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 31.05.2009 10:38:12 vasta tsitaadiga

php:
  1. <?php
  2. include 'sql.php';
  3. $query = "SELECT * FROM kategooria";
  4. $result = mysql_query($query) or die(mysql_error());
  5. while($row = mysql_fetch_array($result)){
  6. for($i = 1; $i <= 10; $i++){
  7. $kategooria = $row['KategooriaNimi'];
  8.     echo "$kategooria"."$i" . "</br>";
  9. }
  10. }
  11. ?>

Kood siis mul testimiseks selline.
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 31.05.2009 10:54:40 vasta tsitaadiga

See for käib sul iga while tsüklis ka oma osa läbi, sellepärast ongi 10 sama asja


<?php
include 'sql.php';
$query = "SELECT * FROM kategooria";
$result = mysql_query($query) or die(mysql_error());
$i = 1;
while($row = mysql_fetch_array($result)){

$kategooria = $row['KategooriaNimi'];
    echo "$kategooria"."$i" . "</br>";
   $i++;

}
?>

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 31.05.2009 11:08:03 vasta tsitaadiga

Super! Jälle targem icon_razz1.gif

Tänud icon_wink.gif


Uhh, mõtlesin, et saan eelnevaga kuidagi oma probleemi lahendatud aga see paras pähkel mu jaoks veel.
Väljastan while kasutades kõik kategooriad (10tk)
Aga iga kategooria kõrvale tahaks lisada väärtuste summa teisest tabelist "väärtused".
näide:
Kategooria1 - 125
Kategooria2 - 144
Kategooria3 - 100
jne

Väärtuste tabel sisaldab KategooriaID'd mille alt on väärtus sisestatud.
Et nüüd ma ei oska kuidagi iga kategooria kõrvale panna just sama kategooria ID väärtust mis asub teises tabelis.
Proovisin loop kasutades kuidagi mängida, et ülevalt alla suurendab ID 1 võrra. Aga tabelist nii välja ei saanud.


viimati muutis redenergy 31.05.2009 13:00:55, muudetud 1 kord
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga Online

sõnum 31.05.2009 12:59:57 vasta tsitaadiga

andrusny kirjutas:
See for käib sul iga while tsüklis ka oma osa läbi, sellepärast ongi 10 sama asja


<?php
include 'sql.php';
$query = "SELECT * FROM kategooria";
$result = mysql_query($query) or die(mysql_error());
$i = 1;
while($row = mysql_fetch_array($result)){

$kategooria = $row['KategooriaNimi'];
    echo "$kategooria"."$i" . "</br>";
   $i++;

}
?>


kui numbrit liita vaja, võiks üldse while'i asemel for'i kasutada. icon_wink.gif


<?php
include 'sql.php';
$query = "SELECT * FROM kategooria";
$result = mysql_query($query) or die(mysql_error());

for($i=1;$row = mysql_fetch_array($result);$i++){
    $kategooria = $row['KategooriaNimi'];
    echo "$kategooria"."$i" . "</br>";
}
?>

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 31.05.2009 13:12:26 vasta tsitaadiga

jnt, mille poolest see parem on while tsüklist ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga Online

sõnum 31.05.2009 16:00:00 vasta tsitaadiga

mikk36, numbri liitmine on juba tsükklisse endasse sisse viidud. Lihtsalt tundub loogilisem, et kui on vaja tsükliga midagi läbi käia ja on vaja ka järjekorda, et siis kasutada for'i. Aga see rohkem siiski stiiliküsimus. Mulle meeldib nummerdamisel for'i kasutada. icon_wink.gif
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 31.05.2009 21:05:48 vasta tsitaadiga

Sain oma probleemile vastuse INNER JOIN abil. thumbs_up.gif
Hea tunne kui algul tunduva suure mõistatuse iseseisvalt ära lahendatud saab.

Aga kuidas opereerida SUM kui kasutada INNER JOIN?

Vastus! Tuleb kasutada ORDER BY! icon_wink.gif
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Php ja SQL loop
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.