Erikoinen ongelma mutta löytyisiköhän vastausta?
Otan tietokannasta tietoa ja kun kokeilen verrata rivejä if-lauseilla niin ainoastaan ensimmäinen if-lause menee oikein, mutta jostakin syystä toinen OR lause ei toimikkaan oikein.
Tässä tapauksessa siis $row[1] ja $row[2] tiedot ovat molemmissa 0, mutta kun tulostan
echo $muuttuja1; -> ohjelma tulostaa 1
Ainoastaan peräkkäisillä if-lauseilla ohjelma tulostaa 2.
Missä mahtaa olla vika?
while($row = mysql_fetch_row($haku)){
if($row[0]=='A'){
if($row[1]==0 OR $row[2]==0){
muuttuja1 ;
}
if($row[3]==0 OR $row[4]==0){
muuttuja2 ;
}
}else if($row[0]=='B'){
if($row[1]==0 OR $row[2]==0){
$muuttuja3 ;
}
if($row[3]==0 OR $row[4]==0){
$muuttuja4 ;
}
}
}
Otan tietokannasta tietoa ja kun kokeilen verrata rivejä if-lauseilla niin ainoastaan ensimmäinen if-lause menee oikein, mutta jostakin syystä toinen OR lause ei toimikkaan oikein.
Tässä tapauksessa siis $row[1] ja $row[2] tiedot ovat molemmissa 0, mutta kun tulostan
echo $muuttuja1; -> ohjelma tulostaa 1
Ainoastaan peräkkäisillä if-lauseilla ohjelma tulostaa 2.
Missä mahtaa olla vika?
while($row = mysql_fetch_row($haku)){
if($row[0]=='A'){
if($row[1]==0 OR $row[2]==0){
muuttuja1 ;
}
if($row[3]==0 OR $row[4]==0){
muuttuja2 ;
}
}else if($row[0]=='B'){
if($row[1]==0 OR $row[2]==0){
$muuttuja3 ;
}
if($row[3]==0 OR $row[4]==0){
$muuttuja4 ;
}
}
}
Vastaukset 6
Vanhimmat
Kristallipallo on niin pirun himmeä tänään :(
Saattaa auttaa jos muuttaa noi OR sanat tuoksi ||
tuollaista 'OR' vipua. || on OR ja && on AND.
SQL-kyselyissä taas OR ja AND
Sama homma oli kyllä '||' eli se ei tuntunut vaikuttavan, mutta pitää vielä kokeilla tuota.
"Tässä tapauksessa siis $row[1] ja $row[2] tiedot ovat molemmissa 0, mutta kun tulostan
echo $muuttuja1; -> ohjelma tulostaa 1"
Niinhän se on tuohon koodattukin.
jos(row[1] == 0 TAI row[2] == 0)
{
muuttuja1 ;
}
Miksi muuttuja1 sisältö pitäisi olla 2? Tuohan tarkoittaa koodina sitä, että mikäli jompi kumpi näistä on totta, niin mennään suorittamaan aaltosulkujen sisältä koodi ja sitten eteenpäin. Ei tuo if-lause mikään silmukka ole, että se suorittaa alltosulkujen sisällön aina kun joku ehdoista on totta.
Aivan totta. Oma mokani. Pitää käyttää for-lausekkeita...