| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
z.m
Data înscrierii: 25/Feb/2005
Mesaje: 328
|
| Trimis: Lun Mar 07, 2005 3:27 pm Titlul subiectului: sql |
|
|
Vreau sa fac un select dintr-o baza de date.Lucrurile stau asa:Preiau un camp dintr-un tabel,apoi folosesc acest camp,de ex. $row[simbol] ca argument intr-un alt $row2[],pentru o interogare la un alt tabel.Problema e ca nu imi afiseaza rezultatul celei de a 2-a interogari..Imi afiseaza doar primul camp,nu toate.
pentru primul:
$query2="SELECT simbol FROM tabel1 WHERE activa='true'";
$result2=mysql_query($query2) or die ("Unable to do query 2");
while($row2=mysql_fetch_array($result2))
{
$simbole=$row2[0];
$simbol=strtolower($simbole);
print "<td align=center>$simbol</td>";
}
pentru al 2-lea
$query3="SELECT * FROM tabel2";
$result3=mysql_query($query3) or die ("Unable to do query 3");
while($row3=mysql_fetch_array($result3))
{
if($row3[$simbol]=='') {}
else{
print $row3[$simbol];
}
} |
|
| Sus |
|
boo
Data înscrierii: 24/Mar/2004
Mesaje: 223
Locație: Ploiesti
|
| Trimis: Lun Mar 07, 2005 3:50 pm Titlul subiectului: |
|
|
Este normal sa iti afiseze decat un camp pentru ca valoarea variabilei $simbol se schimba de fiecare data cand este apelat while, deci tu vei avea x $simbol, unde x corespunde cu atatea inregistrari gasite in comanda sql. La finalul primului while o sa ai variabila $simbol egala cu ultima valoare gasita, iar tu o folosesti in al doilea while ceea ce iti returneaza o singura valoare.
Iti recomand un while in while.
Bafta |
|
| Sus |
|
z.m
Data înscrierii: 25/Feb/2005
Mesaje: 328
|
| Trimis: Lun Mar 07, 2005 3:56 pm Titlul subiectului: |
|
|
| Si cum fac acel while in while? |
|
| Sus |
|
boo
Data înscrierii: 24/Mar/2004
Mesaje: 223
Locație: Ploiesti
|
| Trimis: Lun Mar 07, 2005 4:10 pm Titlul subiectului: |
|
|
Ti-am pus eu "while in while", nu stiu la ce folosesti tu codul asta, deci s-ar putea sa spui ca nu iti merge dar in fine, uite si codul:
<?
$query2="SELECT simbol FROM tabel1 WHERE activa='true'";
$result2=mysql_query($query2) or die ("Unable to do query 2");
$query3="SELECT * FROM tabel2";
$result3=mysql_query($query3) or die ("Unable to do query 3");
while($row2=mysql_fetch_array($result2)){
$simbole=$row2[0];
$simbol=strtolower($simbole);
print "<td align=center>$simbol</td>";
while($row3=mysql_fetch_array($result3)){
if($row3[$simbol]!='') { print $row3[$simbol]; }
}
}
?> |
|
| Sus |
|
z.m
Data înscrierii: 25/Feb/2005
Mesaje: 328
|
| Trimis: Lun Mar 07, 2005 4:39 pm Titlul subiectului: |
|
|
Am incercat codul tau,dar tot o singura valoare imi afiseaza.Nu mai exista vreo varianta in afara de while in while,pentru ca
eu la afisare trebuie sa mai introduc niste date intre cele doua interogari? |
|
| Sus |
|
boo
Data înscrierii: 24/Mar/2004
Mesaje: 223
Locație: Ploiesti
|
| Trimis: Lun Mar 07, 2005 4:42 pm Titlul subiectului: |
|
|
| Fi atent ca $row3[$simbol] iti afiseaza valoarea campului $simbol. |
|
| Sus |
|
z.m
Data înscrierii: 25/Feb/2005
Mesaje: 328
|
| Trimis: Lun Mar 07, 2005 5:04 pm Titlul subiectului: |
|
|
Nu,imi afiseaza datele si nu valoarea variabilei.Afiseaza valoarea doar in cazul in care ai $row3[$simbol] in interiorul interogarii,de exemplu
"SELECT '".$row3[$simbol]."' FROM tabel".Revin cu intrebarea de a face in alt mod.Am incercat si cu un for in interiorul celui de al doi-lea while,dar nu merge. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |