Autor Zpráva
Generation
Profil *
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
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 *
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

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