Pagina 1 din 1

problem

Scris: Sâm Apr 08, 2006 7:47 pm
de z.m
E ceva in neregula cu codul asta:

for ($i=0;$i<4;$i++) {
if (trim($_FILES['userfile']['name'][$i])!="") {
$_SESSION["step5"]["$i"] = $_FILES['userfile']['name'][$i];
$pathz[$i] = $path.$_FILES['userfile']['name'][$i];
copy($_FILES['userfile']['tmp_name'][$i], $pathz[$i]);
$interogare = "SELECT * FROM gallery WHERE username='$namez'";
$rezultat = mysql_query($interogare) or die ("Unable to do query" . mysql_error());
$nrrows = mysql_num_rows($rezultat);
if($nrrows < 1)
{
$interogare2 = "INSERT INTO gallery(id,username,picture,path) VALUES('','$namez','".$_SESSION["step5"]["$i"]."','$pathz[$i]')";
$rezultat2 = mysql_query($interogare2) or die ("Unable to do query" . mysql_error());
}
else
{

while($row = mysql_fetch_array($rezultat))
{

if($row["picture"] != $_SESSION["step5"]["$i"])
{
$interogare2 = "INSERT INTO gallery(id,username,picture,path) VALUES('','$namez','".$_SESSION["step5"]["$i"]."','$pathz[$i]')";
$rezultat2 = mysql_query($interogare2) or die ("Unable to do query" . mysql_error());
}
}
}

Ideea e ca imi baga aceeasi poza de mai multe ori in galerie,si de 10 ori aceeasi poza.

Re: problem

Scris: Dum Apr 09, 2006 5:22 am
de Weapon
O chestie pe care o patesc si eu destul de des, si asta din cauza neatentiei...in while se repeta codul pana cand conditia devine falsa...asadar se face cate un query pentru fiecare valoare TRUE returnata de while....In interiorul while-ului: [php]$select = $row['nume_camp'];[/php] , iar inserarea se face in afara while-ului cu un foreach:
[php]foreach ($select as $inregistrare -> valoare)
if($row["picture"] != $_SESSION["step5"]["$i"])
{
$interogare2 = "INSERT INTO gallery(id,username,picture,path) VALUES('','$namez','".$_SESSION["step5"]["$i"]."','$pathz[$i]')";
$rezultat2 = mysql_query($interogare2) or die ("Unable to do query" .mysql_error());
}
[/php]

Modifici si tu pe acolo variabilele si ar trebui sa mearga. Daca am gresit cumva, reply.

Scris: Dum Apr 09, 2006 3:32 pm
de z.m
Eu am facut asa:
else
{

while($row = mysql_fetch_array($rezultat))
{
$select[] = $row['picture'];
}
foreach ($select as $inregistrare => $valoare)
if($valoare != $_SESSION["step5"]["$i"])
{
$interogare2 = "INSERT INTO gallery(id,username,picture,path) VALUES('','$namez','".$_SESSION["step5"]["$i"]."','$pathz[$i]')";
$rezultat2 = mysql_query($interogare2) or die ("Unable to do query" .mysql_error());

}
si e acelasi lucru,tot imi baga mai multe inregistrari