Autor | Zpráva | ||
---|---|---|---|
etexweb Profil |
#1 · Zasláno: 12. 5. 2011, 21:58:06 · Upravil/a: etexweb
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 * |
#2 · Zasláno: 12. 5. 2011, 22:49:31
a das sem zbytek kodu? Co je $files a co je $data?
|
||
Ben Profil * |
#3 · Zasláno: 12. 5. 2011, 22:59:16
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 |
#4 · Zasláno: 12. 5. 2011, 23:20:14 · Upravil/a: etexweb
<?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 * |
#5 · Zasláno: 12. 5. 2011, 23:25:21
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 |
#6 · Zasláno: 12. 5. 2011, 23:26:31 · Upravil/a: Tori
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 |
#7 · Zasláno: 12. 5. 2011, 23:29:40
[#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 * |
#8 · Zasláno: 12. 5. 2011, 23:42:51
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 |
#9 · Zasláno: 12. 5. 2011, 23:45:02
NIE
|
||
etexweb Profil |
#10 · Zasláno: 12. 5. 2011, 23:45:54 · Upravil/a: etexweb
Problém je taký, že je problém z funkciou file_get_contents() ktorá z neznámeho dovodu nevie spracovat vsetky riadky...
|
||
Časová prodleva: 13 let
|
0