Avatar billede noob2003 Nybegynder
07. april 2010 - 13:32 Der er 11 kommentarer og
1 løsning

flere if

jeg har følgene check

if($level2==4 && $man2==1 && $tirs2==1 && $ons2==1 && $tors2==1 && $fre2==1) {
mysql_query("UPDATE `bord` SET `level`=5 WHERE `bord_id`='$tableid'")or die(mysql_error());
}


echo"$level2<br>$man2<br>$tirs2<br>$ons2<br>$tors2<br>$fre2<br>$tableid";

men selv om den viser alle har de if tal updater den ikke, hvad gør jeg forkert, er lidt rusten i php/mysql
Avatar billede majbom Novice
07. april 2010 - 13:38 #1
$table_id er sat?
Avatar billede noob2003 Nybegynder
07. april 2010 - 13:45 #2
jeps

echo siger
4
1
1
1
1
1
461
Avatar billede olebole Juniormester
07. april 2010 - 13:48 #3
<ole>

Det ser ud til at være et andet sted, du laver fejl

/mvh
</bole>
Avatar billede noob2003 Nybegynder
07. april 2010 - 13:52 #4
her er hele hele koden


$db = mysql_connect("localhost", "xx", "xx") or die (mysql_error());
mysql_select_db("gaming4life", $db) or die (mysql_error());

$tableid = mysql_real_escape_string($_POST['tableid']);
$result1=mysql_query("SELECT * FROM `bord` WHERE `bord_id`='$tableid'");

while($row=mysql_fetch_row($result1)) {
$bord_id=$row[0];
$level2=$row[1];
$man2=$row[2];
$tirs2=$row[3];
$ons2=$row[4];
$tors2=$row[5];
$fre2=$row[6];

if($level2==4 && $man2==1 && $tirs2==1 && $ons2==1 && $tors2==1 && $fre2==1) {
mysql_query("UPDATE `bord` SET `level`=5 WHERE `bord_id`='$tableid'")or die(mysql_error());
}


echo"$level2<br>$man2<br>$tirs2<br>$ons2<br>$tors2<br>$fre2<br>$tableid";
Avatar billede michael_stim Ekspert
07. april 2010 - 13:58 #5
Det kan ikke være hele koden. Prøv at udskrive noget inde i din if, og se om den overhoved taget kommer ind i den.
Avatar billede noob2003 Nybegynder
07. april 2010 - 14:07 #6
if data bliver jo korrekt echo i echo"$level2<br>$man2<br>$tirs2<br>$ons2<br>$tors2<br>$fre2<br>$tableid";

men den updater ikke, jeg bruger en post for til når alle hverdage er optaget så poster fullbooket.php?tableid=461

og den viser i echo som tidliger posted

fra db
4
1
1
1
1
1

fra min posted
$tableid 461
Avatar billede majbom Novice
07. april 2010 - 14:20 #7
der sker jo ikke noget ved at smide en echo ind i if-sætningen, for at se om den overhovedet kommer derind - hvilket noget tyder på den ikke gør...
Avatar billede noob2003 Nybegynder
07. april 2010 - 14:27 #8
}
$tableid = mysql_real_escape_string($_POST['tableid']);
$result1=mysql_query("SELECT * FROM `bord` WHERE `bord_id`='$tableid'");

while($row=mysql_fetch_row($result1)) {
$bord_id=$row[0];
$level2=$row[1];
$man2=$row[2];
$tirs2=$row[3];
$ons2=$row[4];
$tors2=$row[5];
$fre2=$row[6];

if($level2=='4'&&$man2=='1'&&$tirs2=='1'&&$ons2=='1'&&$tors2=='1'&&$fre2=='1') {
mysql_query("UPDATE `bord` SET `level`=5 WHERE `bord_id`='$tableid'")or die(mysql_error());
echo"$level2<br>$man2<br>$tirs2<br>$ons2<br>$tors2<br>$fre2<br>$tableid";
}

og den viser også
4
1
1
1
1
1
461
Avatar billede noob2003 Nybegynder
07. april 2010 - 14:54 #9
fandt løsninge ved at snuppe koder fra phpmyadmin

mysql_query("UPDATE `gaming4life`.`bord` SET `level` =  '5' WHERE `bord`.`bord_id` ='$bord_id'")or die(mysql_error());
Avatar billede majbom Novice
07. april 2010 - 15:12 #10
er det ikke lidt en voldsom løsning hvis du bare skal tjekke om man-fre er 1 og derefter opdatere level?

du kan jo bare køre en update where man=1, tirs=1... og id='$tableid' :)
Avatar billede olebole Juniormester
07. april 2010 - 15:26 #11
- og så er der i øvrigt absolut ingen, der nogensinde har sagt, at phpMyAdmin består af god kode (det vil jeg i hvertfald ikke håbe, nogen har gjort!)  ;o)

Noget kunne tyde på, du kun skal opdatere én række. I så fald bør du bruge LIMIT 1. Hvis det f.eks. er den første række, der skal opdateres, leder MySQL ganske unødigt resten af tabellen igennem efter evt. andre rækker, som skal opdateres. Det undgår du, hvis du bruger LIMIT
Avatar billede dkfire Nybegynder
07. april 2010 - 23:52 #12
Noget kunne da også tyde på at dine felter i tabel er sat forkert på. Kan det passe at alle felterne er varchar, men kun indeholder tal?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester