Autor | Zpráva | ||
---|---|---|---|
Generation Profil * |
#1 · Zasláno: 25. 7. 2015, 10:01:22 · Upravil/a: Generation
Dobrý den,
chtěl bych se zeptat, jak updatovat 1 sloupec v databázi když mám data uložená v txt. Nejlépe přes phpMyAdmin. V txt je ID sloupec a sloupes klik. Takže update by měl být proveden že pokud se schodují ID v txt a v databázi, přičtě to klik s txt ke kliku v databázi. Lze to udělat přímo v phpMyAdminu? Díky za odpověď. http://www.jpeg.cz/images/2015/07/25/LN0R1.png Zkusil jsem to uložit do csv a oddělit hvězdičkou a pomocí následujícího scriptu updatovat ale všechny kliky se mi vynulovali místo aby se přičetli. <?php include "settings.php"; $vlozeni=date("Y-m-d-H-i-s"); if(isset($_POST['submit']) && !Empty($_FILES['fupload']['tmp_name']) ) { if(!copy($_FILES['fupload']['tmp_name'],"csv/".$vlozeni.".csv")){ echo "csv neulozeno<br>"; } else { echo "csv ulozeno<br>"; } $data = File_Get_Contents($_FILES['fupload']['tmp_name']); $data = explode("\r\n",$data); $nahrano=0; foreach($data as $line) { $nahrano++; $cells = explode("*",$line); mysql_query("UPDATE `albums` SET `klik` = `klik`+'".mysql_real_escape_string($cells[1])."' WHERE `id` = '".mysql_real_escape_string($cells[0])."' ") or die('Máš v Query chybu ty pitomče!!<br>'.MySQL_Error()); } } ?> CSV: |
||
Alphard Profil |
#2 · Zasláno: 25. 7. 2015, 10:48:22
I když bych hodně věcí udělal jinak, v principu to vypadá použitelně. Vypište si ten dotaz, zřejmě někde jen blbě převádí nějaké řetězce.
Zjednodušená verze je $data = file($_FILES['fupload']['tmp_name'], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach($data as $line) { $cells = explode("*", $line); mysql_query("UPDATE `albums` SET `klik` = `klik`+ ".intval($cells[1])." WHERE `id` = ".intval($cells[0])); // ošetření chyby vynechávám } |
||
Generation Profil * |
#3 · Zasláno: 25. 7. 2015, 10:53:07 · Upravil/a: Generation
Alphard:
Díky za pomoc, ovšem ani Váš script nepřičte kliky. Když si vypíši ten dotaz, tak v klik mám všude nulu a id vyplněné je. Už je to v pořádku |
||
Časová prodleva: 9 let
|
0