Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z Updatem pola w Mysql
Forum PHP.pl > Forum > PHP
lopes1980
Witam ponownie.

Mam pewien problem i nie wiem gdzie tkwi przyczyna.

Otóż kod wygląda tak :
  1. <?php
  2. if (file_exists($folder.$plik)) {
  3.  
  4.  $zrodlo = file_get_contents($folder.$plik,FALSE,NULL,0,filesize($folder.$plik));
  5.  $start = stripos($zrodlo, "nbsp;</td></tr>");
  6.  $start = $start + 15;
  7.  $end = stripos($zrodlo, "</table>");
  8.  $dlugosc = $end - $start;
  9.  
  10.  $zdanie = substr($zrodlo, $start, $dlugosc);
  11.  
  12.  $tresc = str_replace(" style='background-color: #EFFFF7;'", " style='background-color: #F4F4F4;'", $zdanie); 
  13.  $tresc = str_replace(" style='background-color: #FFFFFF;'", "", $tresc);
  14.  $tresc = str_replace(' class="bok"', '', $tresc);
  15.  $tresc = str_replace(' class="prawo"', '', $tresc);
  16.  $tresc = str_replace("True", "Tak", $tresc);
  17.  $tresc = str_replace("False", "Nie", $tresc);
  18.  
  19.  $tresc = "a <table> ".$tresc." </table> a";
  20.  
  21.  $qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."';";
  22.  $queryopis1 = mysql_query($qopis1);
  23.  
  24.  echo "Dodano opis produtku : ".$code."<br>";
  25.  echo $tresc."<br>";
  26. }
  27. ?>


W pole do którego mają trafi dane ma typ TEXT czyli powinno zaakceptowac string ktory jest wygenerowany.
String nie jest pusty bo przez echo wyswietla mi sie na ekranie wsszystko ladnie.
Natomiast cos powoduje, ze ów string $tresc za cholere nie chce się dodac do pola w tabeli.

Co radzicie ?

Pozdrawiam.
b_chmura
wsadź po zapytaniu
  1. <?php
  2. ?>
zzeus
$qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."';";

zamien na

$qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."'";
nevt
w tym fragmencie...
  1. <?php
  2. $qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."';";
  3. $queryopis1 = mysql_query($qopis1);
  4.  
  5. echo "Dodano opis produtku : ".$code."<br>";
  6. ?>

w sql odwołujesz się do product_code przez $sku, a w echo przez $code...
nigdzie też nie widzę ustawienia ani jednej, ani drugiej zmiennej...
podejrzewam, że warunek WHERE jest do niczego i dla tego nic się nie udate'uje...
poza ty skoro już używasz podwójnych ciapek to lepiej pisz tak:
  1. <?php
  2. $qopis1 = "UPDATE inter_sklep_product SET product_description = '$tresc' WHERE product_code = '$sku';";
  3. ?>
lopes1980
Już wiem dlaczego update nie działał :

Kod
echo mysql_error();

wywalił mi taki błąd :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'background-color: #F4F4F4;'> Opłata transportowa za LARGE <' at line 1

W zapytaniu były ' ' i dlatego mysql nie chciał przyjąć tego.

Podaje jeszcze raz ten kod (już właściwy i działający ) :
Kod
$folder = "/home/public_html/sklep/products/";

if($query1){

while ($wiersz = mysql_fetch_row($query1)) {

   $sku = $wiersz[0];
   $plik = $sku.".html";
  
  if (file_exists($folder.$plik)) {
  
   $zrodlo = file_get_contents($folder.$plik,FALSE,NULL,0,filesize($folder.$plik));
   //$start = stripos($zrodlo, "</a></td></tr>");
   $start = stripos($zrodlo, "nbsp;</td></tr>");
   $start = $start + 15;
   $end = stripos($zrodlo, "</table>");
   $dlugosc = $end - $start;

   $zdanie = substr($zrodlo, $start, $dlugosc);
  
   // tak mi zadziałało , trochę inny sposób określenia tła komórki ale efekt ten sam :-)
   $tresc = str_replace(" style='background-color: #EFFFF7;'", " bgcolor=\"#F4F4F4\"", $zdanie);
   // ----------------------------------------------------------------------------------------
   $tresc = str_replace(" style='background-color: #FFFFFF;'", "", $tresc);
   $tresc = str_replace(' class="bok"', '', $tresc);
   $tresc = str_replace(' class="prawo"', '', $tresc);
   $tresc = str_replace("True", "Tak", $tresc);
   $tresc = str_replace("False", "Nie", $tresc);
  
   $tresc = "<table> ".$tresc." </table>";
  
   $qopis1 = "UPDATE inter_sklep_vm_product SET product_desc = '$tresc' WHERE product_sku = '$sku';";
   $queryopis1 = mysql_query($qopis1);
  
   echo mysql_error();
  
   echo "Dodano opis produtku : ".$sku."<br>";

  }
  else{
  echo "<BR> BRAK PLIKU <BR><BR>";
  $qopis0 = "UPDATE inter_sklep_vm_product SET product_desc = 'brak opisu' WHERE product_sku = '$sku';";
  $queryopis0 = mysql_query($qopis0);
  }
}
}
else{
mysql_close($sql);
echo "<BR> KONIEC <BR>";
exit;
}

mysql_close($sql);





Temat raczej do zamknięcia.



PS Jak Wy dodajecie BBcode "Kod PHP" bo nigdzie tego nie widzę i nie wiem jak to ładnie wyświetlic ?

Pozdrawiam.
nevt
w edytorze forum masz guziczek PHP (lewy-górny róg okienka - tuż pod guziczkiem BOLD)... poza tym możesz też wysilić swoje łapki na piechotę wpisać...
Kod
[php]
//przykład
[/php]

co da...
  1. <?php
  2. //przykład
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.