Pagina 1 din 1

Problema update sql

Scris: Joi Iul 02, 2015 2:21 pm
de Seph
Am codul:

Cod: Selectaţi tot

<?
require ('config_floor.php');



$i = 1;
while ($i <= 31){


$culoare[$i] = $_POST['culoare'.$i.''];

echo''.$culoare[$i].'';




$updateSQL = "UPDATE zile SET culoare = '$culoare[$i]' where zi = 4";
mysql_query($updateSQL);

$i++;

}




?>


E corect scris SET culoare = '$culoare[$i]' ?

Nu-mi updateaza in baza de date.
echo''.$culoare[$i].''; imi afiseaza corect "portocaliu".

Re: Problema update sql

Scris: Joi Iul 02, 2015 5:01 pm
de MarPlo
Salut
Incearca asa:

Cod: Selectaţi tot

$updateSQL "UPDATE zile SET culoare = '"$culoare[$i] ."' where zi = 4"

Re: Problema update sql

Scris: Joi Iul 02, 2015 6:05 pm
de nevvermind
Incerci sa interpolezi o expresie, nu o variabila, si atunci trebuie curlies, altfel PHP nu se prinde unde incepe si unde se termina expresia:

Cod: Selectaţi tot

"UPDATE zile SET culoare = '{$culoare[$i]}' where zi = 4";


Foloseste mysql_real_escape_string(). Mai bine, renunta la familia mysql_* si foloseste PDO.

@MarPlo - transmite si asta novicilor.

http://php.net/manual/en/language.types ... ng.parsing

Re: Problema update sql

Scris: Sâm Iul 04, 2015 10:54 pm
de ispas
nevvermind scrie:Incerci sa interpolezi o expresie, nu o variabila, si atunci trebuie curlies, altfel PHP nu se prinde unde incepe si unde se termina expresia:

Cod: Selectaţi tot

"UPDATE zile SET culoare = '{$culoare[$i]}' where zi = 4";


Foloseste mysql_real_escape_string(). Mai bine, renunta la familia mysql_* si foloseste PDO.

@MarPlo - transmite si asta novicilor.

http://php.net/manual/en/language.types ... ng.parsing


Agree, in single quote nu-ti va citi variabilele, just :

Cod: Selectaţi tot

'   '.$var.' '
'{$var}'
".$var."
{$var}

Re: Problema update sql

Scris: Sâm Iul 11, 2015 10:30 pm
de CristianG
Cum ai tu codul in primu rand asa se scrie semantic si frumos desigur da placerea unui programator sa verifice si sute de mi de coduri

Cod: Selectaţi tot

<?php
require('config_floor.php');
$i = 1;
while ($i <= 31) {
   $culoare[$i] = $_POST['culoare'.$i.''];
   echo''.$culoare[$i].'';

   mysql_query("UPDATE `zile` SET `culoare`='{$culoare[$i]}' WHERE `zi`='4';");
   $i++;
}
?>

Re: Problema update sql

Scris: Sâm Iul 11, 2015 10:34 pm
de ispas
CristianG scrie:Cum ai tu codul in primu rand asa se scrie semantic si frumos desigur da placerea unui programator sa verifice si sute de mi de coduri

Cod: Selectaţi tot

<?php
require('config_floor.php');
$i = 1;
while ($i <= 31) {
   $culoare[$i] = $_POST['culoare'.$i.''];
   echo''.$culoare[$i].'';

   mysql_query("UPDATE `zile` SET `culoare`='{$culoare[$i]}' WHERE `zi`='4';");
   $i++;
}
?>


Nu se vor face 31 de update la baza de date? valoare 31 va fi si cea care va ramane in mysql.

Re: Problema update sql

Scris: Dum Iul 12, 2015 4:14 am
de nevvermind
ispas scrie:Nu se vor face 31 de update la baza de date? valoare 31 va fi si cea care va ramane in mysql.

Wtf, asa e.

Re: Problema update sql

Scris: Dum Iul 12, 2015 12:59 pm
de CristianG
Pana la urma e codul lui nu stiu ce a vrut sa faca acolo si putea sa apeleze la for() nu neaparat la while ideea era scrierea mysql-lului corect (sintaxa)

Dupa cum arata functia el lupeaza pana la 31 pentru ca defineste un set de inserari nu o inserare.

Re: Problema update sql

Scris: Dum Iul 12, 2015 1:27 pm
de ispas
Da, eu sunt in ceata, nu stiu care este ideea aceste functii...

Re: Problema update sql

Scris: Dum Iul 12, 2015 3:49 pm
de nevvermind
Eh, poate Seph nu si-a dat seama.

Yo, Seph, vezi ca suprascrii acelasi rand de 31 de ori (insertie cu acelasi "WHERE" dar valori diferite).

Done. Acu isi va da seama.

PS: Am pus "lupeaza" in colectia mea de gasco-engleza. Oi fi un snob, dar e prea funny s-o ratez. Pana acum am astea:

Cod: Selectaţi tot

polișat (polished)
enablare (enabled)
enablanuit (enabled)
fixat (fixed)
incentivare
incentive
pointeze
forcastează
deployeze
picuite (picked)
blacklistase
lupeaza (looping)

Re: Problema update sql

Scris: Dum Iul 12, 2015 11:42 pm
de clickymedia
Ceva mai simplu cu for

for($i=1;$i<=31;$i++){
$culoare[$i] = $_POST['culoare'.$i];
echo $culoare[$i];
mysql_query("UPDATE zile SET culoare='{$culoare[$i]}' WHERE zi=4");
}

Re: Problema update sql

Scris: Dum Iul 12, 2015 11:58 pm
de ispas
Tu ai spus aceeasi tampenie.

Re: Problema update sql

Scris: Lun Iul 13, 2015 12:06 am
de CristianG
In primu rand nu este corecta formula pentru ca insertul va fi cu WHERE identic.


PS: @clickymedia totusi asa cum spuneam un cod aranjat si scris frumos sar putea !

Cod: Selectaţi tot

for($i = 1; $i <= 31; $i++) {
   $culoare[$i] = $_POST['culoare'.$i];
   //echo $culoare[$i];
   mysql_query("UPDATE `zile` SET `culoare`='{$culoare[$i]}' WHERE `zi`='4';");
}


"echo" nu ai nevoie sa mai faci output decat in caz de vrei sa vezi loop`ut

Re: Problema update sql

Scris: Joi Aug 06, 2015 3:36 pm
de dianagaby2002
Pune ghilimelele asa `nume_tabela` la numele tabelei, si asa '$variabila' la variabile:

Cod: Selectaţi tot

$updateSQL = "UPDATE zile SET `culoare` = '$culoare[$i]' where zi = 4";