Autor | Zpráva | ||
---|---|---|---|
Ajtak Profil * |
#1 · Zasláno: 25. 5. 2012, 12:04:47 · Upravil/a: Ajtak
Mám takovýto kód pro výpis obrázků z databáze: a já bych potřeboval jak je ten input aby se tam dalo napsat hodnocení a potom se to uložilo do db.
Jde to nějak? <?php $query = "SELECT image, thumb, tags, number FROM images"; $result = mysql_query($query); while(list($image, $thumb, $tags, $number) = mysql_fetch_array($result)){ echo "<tr><td><h1>$number.</td><td><a class='vlightbox1' href='".$image."'><img src='".$thumb."' ></td><td><input type=text></td></tr>"; } ?> U každé fotky se dělá to okýnko a já potřebuji obsah těchto políček uložit do db sloupec body. Chci aby s tam psali čísla, které by se uložili do db. |
||
nemeja Profil |
#2 · Zasláno: 25. 5. 2012, 14:11:12
muzes udelat treba novou tabulku (id obrazku, id_klikajiciho, hodnoceni). Do te zapisovat jednotliva hodnoceni a pak pro obrazek pocitat prumer
|
||
BedyR Profil |
#3 · Zasláno: 25. 5. 2012, 15:36:08 · Upravil/a: BedyR
Ajtak:
No nevím jestli tam máš v tabulce 'images' pole (samo že se můžou jmenovat jinak) id - identifikační číslo rekordu body - suma přidělených bodů hodnotilo - počet hodnotitelů já vycházím z toho že ano doplněný tvůj skript jsem pracovně nazval galerie to pole za obrázkem by mělo být radši <select><option>1 .... kde by jsi měl všechny hodnoty např 1-5 nebo radiobuttony nebo tlačítka protože takhle budeš muset testovat rozsah hodnot a zda je to číslo. dále tam můžeš mít zobrazenu průměrnou hodnotu hodnocení (třeba pod tím polem,<sele ....) galerie.php <?php echo "<form method="post" action="zpracovat.php" target="_self"> <table>'; $query = "SELECT image, thumb, tags, number, id, body, hodnotilo FROM images"; $result = mysql_query($query); while(list($image, $thumb, $tags, $number, $id, $body, $hodnotilo) = mysql_fetch_array($result)){ $name = "id".$id."#".$body."#".$hodnotilo."#"; $prum = round($body/$hodnotilo,1); echo '<tr> <td> <h1>'.$number.'</h> </td> <td> <a class="vlightbox1" href="'.$image.'"> <img src="'.$thumb.'" > </a> </td> <td> <span>'.$prum.'</span> </td> <td> <select name="'.$name.'"> <option value="1"> <option value="2"> <option value="3"> <option value="4"> <option value="5"> </select> </td> </tr>'; } echo '<table> <form method="post" action="zpracovat.php" target="_self">'; ?> inputem zakládáš položky ty je ale potřebuješ aktualizovat na to je UPDATE skript je bez kontroli platnosti hodnot zpracovat.php <?php while (list($key, $val) = each($_POST)) { if (!empty($val) { list($id,$body,$hodnotilo) = exploded("#", $key); $id = substr($id,2); $body += $val; $hodnotilo ++; $query = "UPDATE images SET body = ".$body.", hodntilo = ".$hodnotilo." WHERE id = ".$id ; $result = mysql_query($query); } } header("Location: ./galerie.php"); exit; ?> Ajtak: pak bys tam měl ještě mít kontrolu na hodnotitele aby stejný člověk během minuty nehodnotil třeba desetkrát |
||
Ajtak Profil * |
#4 · Zasláno: 25. 5. 2012, 17:10:13
Ten zpracuj mi hlásí chybu již na 3 řádku: Parse error: syntax error, unexpected '{' in /home/users/guest/kurz.g6.cz/web/system/zpracovat.php on line
|
||
Someone Profil |
Ajtak:
Nebude to přesně podle tvého kódu, ale snad si to zvládneš poupravit: <form method="POST"> <table> <tr><td>P.Č.</td><td>Obrázek</td><td>Body</td></tr> <?php $sql = mysql_query("SELECT * FROM obrazky"); while ($vysledek = mysql_fetch_assoc($sql)) { echo ' <tr> <td>'.$vysledek['id'].'</td><td><img alt="Obrázek" src="'.$vysledek['cesta]'.'" /></td> <td> <select name="body[]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="hidden" name="id[]" value="'.$vysledek['id'].'"> </td> </tr> '; } ?> <tr><td colspan="3"><input type="submit" name="hlasovat" value="Hlasovat"></td></tr> </table> </form> <?php if (isset($_POST['hlasovat'])) { foreach($_POST['id'] as $klic => $id) { mysql_query("UPDATE obrazky SET body=body+".$_POST['body'][$klic].", pocet_hodnoceni = pocet_hodnoceni+1 WHERE id=".$id); } } ?> |
||
Ajtak Profil * |
#6 · Zasláno: 25. 5. 2012, 18:20:30
Pokusím se to vysvětlit jinak:
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)){ $name = "id".$id."#".$hlasovat."#"; 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[name]. Jde to nějak? Prosím o řešení |
||
Someone Profil |
#7 · Zasláno: 25. 5. 2012, 18:22:37
Viz [#5] Someone
|
||
Ajtak Profil |
Jak upravuji, tak upravuji, stále to hází nějaké chyby.
|
||
Ajtak Profil |
#9 · Zasláno: 25. 5. 2012, 20:01:04
Prosím o pomoc...
|
||
Časová prodleva: 12 let
|
0