Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Navýšení čísla v databázi o hodnotu $_POST[hlasovat]

Zdravím
Mám takovýto skript pro výpis obrázků z databáze:

<?php 
    $query = "SELECT image, thumb, tags, number, id, hlasovat  FROM images"; 
    $result = mysql_query($query); 
    while(list($image, $thumb, $tags, $number, $id, $hlasovat) = mysql_fetch_array($result)){ 
    
      echo '<tr> 
                <td> 
                    <h1>'.$number.'</h> 
                </td> 
                <td> 
                    <a class="vlightbox1"  href="'.$image.'"> 
                        <img src="'.$thumb.'" > 
                   </a> 
                </td> 
               
                <td> 
                  <input type=text name="hlasovat"> 
                   
                </td> 
              </tr>'; 
    } 
   echo  '<table> 
                <input type="submit">'; 
  
     
?>

A já potřebuji skript, který navýší číslo ve sloupci hlasovat o počet $_POST[hlasovat].

Prosím o pomoc s kódem. Předem díky

Předmět Autor Datum
UPDATE images SET hlasovat = hlasovat + 1 where id = $id;
wam_Spider007 26.05.2012 20:26
wam_Spider007
Zkoušel jsem různě upravovat, ovšem bezúspěšně.
Guest 27.05.2012 12:06
Guest
jak? ten update co uvedl je dobře.
AZOR 27.05.2012 12:10
AZOR
Tak že to číslo v db se prostě nenavýší
Guest 27.05.2012 12:11
Guest
A dal si to ako SQL query alebo co s tym robis?
MM.. 27.05.2012 12:17
MM..
A píše to nějakou chybu nebo to zarytě mlčí?
ERASER 27.05.2012 12:17
ERASER
a commit nepotřebuješ? MYSQL to snad má podle toho v jakym jsi enginu.
AZOR 27.05.2012 12:18
AZOR
Dal jsem to tam takto: <?php $query = "UPDATE images SET hlasovat = hlasovat + $_POST[hlasovat] whe…
Guest 27.05.2012 12:26
Guest
A proč jsi nenapsal, co ti napsal on? UPDATE images SET hlasovat = hlasovat + $_POST[hlasovat] wher…
AZOR 27.05.2012 12:28
AZOR
tak to si dal uplne blbo. Mas ponatia o tom co robis?
MM.. 27.05.2012 12:28
MM..
Tak jsem po dlouhém zamyšlení použil tento příkaz, ale problém je ten, že se číslo z proměnné přičte…
Guest 27.05.2012 14:35
Guest
preco to chces updatovat podla number a ne podla id, a co mas v premennej $number?
MM.. 27.05.2012 14:41
MM..
V proměnnné number mám id čísla těch fotek stejné jak v db
Guest 27.05.2012 14:42
Guest
v premennej $number moze byt jedno cislo jednej fotky a tu fotku ti to updatne.
MM.. 27.05.2012 14:48
MM..
Změnil jsem to na id a stále nic: [nahleddb.png] Soubory: images.txt zpracovat.txt
Guest 27.05.2012 14:49
Guest
pozri si v databaze ze ktora polozka ma jake number a jake ID, a potom ked zavolas to zpracovat so s…
MM.. 27.05.2012 14:53
MM..
... a do kolonky hlasovat musis napisat nejake cislo pred odoslanim. Alebo z troho SQL prikazu vyhod…
MM.. 27.05.2012 14:56
MM..
Vždy vyplňuji kolonky všechny libovolným číslem. Ale jen u toho posledního se to aktualizuje
Guest 27.05.2012 14:57
Guest
ano viz nizsie (mas tam X-krat input s rovnakym nazvom, pri submite to zobere len ten posledny)
MM.. 27.05.2012 14:59
MM..
A jde to teda nějak vyřešit?
Guest 27.05.2012 15:06
Guest
Ale ja neviem co chces resit (co chces dosiahnut a preco). Normalny clovek by urobil u kazdeho riadk…
MM.. 27.05.2012 15:16
MM..
Inac ak to chces mat nejak super interaktivne tak by mozno bolo lepsie pouzit AJAX apod, na to ale s…
MM.. 27.05.2012 15:19
MM..
ano, pole je samozrjme mozne.
AZOR 27.05.2012 15:58
AZOR
A este mam pocit ze jednym submitom chces poslat nejaky multi request? Tak to nejde ani nahodou.
MM.. 27.05.2012 14:58
MM..
v mysql je defaultne autocommit
wam_Spider007 27.05.2012 17:29
wam_Spider007
A takto by to šlo? [http://pc.poradna.net/file/view/9590-bez-nazvu-bmp ] A mám takovýto kód, který… poslední
Guest 28.05.2012 14:49
Guest

Dal jsem to tam takto:

<?php 
    $query = "UPDATE images SET hlasovat = hlasovat + $_POST[hlasovat] where number"; 
    
    $query = "UPDATE images SET hlasovat= hlasovat + $_POST[hlasovat] WHERE number = number";
    
$mysql_query = "UPDATE images SET hlasovat= hlasovat + $_POST[hlasovat]";
?>

A proč jsi nenapsal, co ti napsal on?

UPDATE images SET hlasovat = hlasovat + $_POST[hlasovat] where number - neni validni SQL příkaz.
UPDATE images SET hlasovat= hlasovat + $_POST[hlasovat] WHERE number = number - provede se nad všema anketama
UPDATE images SET hlasovat= hlasovat + $_POST[hlasovat]"; - provede se nad všema anketama a co mas vubec v tom POST(hlasovat) i kdyby tam byla jednička, tak tim umožnuješ hlasovat třeba 1000x, když někdo otevře haf.php?hlasovat=1000

Tak jsem po dlouhém zamyšlení použil tento příkaz, ale problém je ten, že se číslo z proměnné přičte jen u posledního záznamu a u ostatních zůstává stejné

<?php 
$number = $_POST[number];

mysql_query  ("UPDATE images SET hlasovat= hlasovat + $_POST[hlasovat]  WHERE  number = $number "); 
?>

pozri si v databaze ze ktora polozka ma jake number a jake ID, a potom ked zavolas to zpracovat so spravnum number (alebo ID podla toho jaky das SQl prikaz) tak ti to updatne tie polozky ktore maju stejny number (alebo ID) jak si zadal. Takze ked "stale nic" tak budes muset napisat jake number a ID mas v databaze a jake number si zadal a co ti to zmenilo a co nezmenilo.

Inac ak to chces mat nejak super interaktivne tak by mozno bolo lepsie pouzit AJAX apod, na to ale sa mna nepytaj ja s ajaxom nerobim nic, mozno ked sem zavita napr. los tak sa mozno vyjadri k AJAXu...
Ked to chces vsetko jednym requestom tak by si musel odoslat X premennych s roznymi nazvami alebo nejake pole (ani to neviem ci je mozne) a cele pole spracovat v cykle.

Zpět do poradny Odpovědět na původní otázku Nahoru