Autor Zpráva
etexweb
Profil
Poradíte mi ako script prerobit tak aby akciu (mysql_query) nevykonal len na posledny riadok ?

...
foreach ($files as $data) {
      list($ean, $ine) = explode("|", $data);
      echo "<tr>\n";
	$stranka=file_get_contents("http://adresa.sk/".$ine);
	preg_match("~<div >(.+?)<span class=\"bigPrice\">~s", $stranka, $obsah);
	$zapis = stripslashes(substr($obsah[0], 6, -61));
	mysql_query("UPDATE test SET obsah = '$zapis' WHERE kod = '".strtoupper($ean)."' AND obsah = ''"); // AND obsah = ''
      echo "<td>".$i++.". ".strtoupper($ean)."</td><td>$ine</td>\n"; // Jednotlivý výpis e-mailov
      echo "</tr>\n";
  }
Ben
Profil *
a das sem zbytek kodu? Co je $files a co je $data?
Ben
Profil *
pripadne si nech vypsat $files pres print_r() nebo pres var_dump. Jsi si jisty, ze $files je pole s vice nez jednim prvkem?
etexweb
Profil
<?php
$pripoj = mysql_connect("localhost","?","?");
mysql_select_db("?", $pripoj);

   $file = "data.csv"; // Názov suboru
   $files = file($file); // Vypis zo suboru

   echo "<title>Spracovanie súboru</title>";
   echo "<table border=\"1\">\n";

   echo "<tr>\n";
   echo "<th>Kód produktu</th>\n";
   echo "<th>Typ</th>\n";
   echo "</tr>\n";
   $i = 1;
   foreach ($files as $data) {
      list($ean, $ine) = explode("|", $data);
      echo "<tr>\n";
      $stranka=file_get_contents("http://adresa.sk/".$ine);
      $obsahy = preg_match("~<div >(.+?)<span class=\"bigPrice\">~s", $stranka, $obsah);
      $zapis = stripslashes(substr($obsah[0], 6, -61));
      mysql_query("UPDATE test SET obsah = '$zapis' WHERE kod = '".strtoupper($ean)."' AND obsah = ''");
      echo "<td>".$i++.". ".strtoupper($ean)."</td><td>$ine</td>\n";
      echo "</tr>\n";
  }
      echo "</table>\n";
?>

(Súbor data.csv má viac ako 1000 riadkov, ale prikaz mysql_quey vykona len posledny :( )
Ben
Profil *
projed $files pres print_r nebo var_dump. Vrati ti to pole? o vice nez jednom prvku? Je v souboru data.csv odradkovani?
Tori
Profil
Když si necháte vypisovat dotazy do DB, zobrazí se všech 1000? A každý může podle WHERE najít odpovídající řádek pro update?
etexweb
Profil
[#6] Tori Výpis prebehne úspešne, kódy podla ktorých sa majú data vpisovať do db sú insertované.
[#5] Ben Cez print_r začne vypisovaj jednotlivý array - Array ( [0] => w01117|pod-jednou-strechou [1] => w01118|meda-beda-laska-jako-tram [2] => p00656|disturbia-bd..., Štruktúra data.csv:
w01117|pod-jednou-strechou
w01118|meda-beda-laska-jako-tram
p00656|disturbia-bd...
Ben
Profil *
zkus si vypsat echem obsah vsech dotazu v mysql_query, zkopiruj je a hod to do phpmyadmina pres sql konzoli, hodi ti to nejakou chybu?
etexweb
Profil
NIE
etexweb
Profil
Problém je taký, že je problém z funkciou file_get_contents() ktorá z neznámeho dovodu nevie spracovat vsetky riadky...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0