Forum » Programiranje » [PHP + mySQL] skripta se zatakne
[PHP + mySQL] skripta se zatakne
kriko1 ::
Ok, delam na enem zasebne portalu in natančneje ajax rating sistem. Stvar sem dobil tukaj:
http://www.masugadesign.com/the-lab/scr...
vendar sem malo predelal, ker sem potreboval določene zadeve po meri, glavna sprememba je ta da ne dodaja notri praznih vnosov ter jih nato pododobi, ampak dela insert.
Tabela pa je taka:
id (varchar 11) | user_id (varchar 20) | total_votes (int 11) | total_value (int 11) | used_ips (longtext)
Glavna koda:
http://files.myopera.com/kriko/other/rp...
Kaj ne dela? S stvarjo se zafrkavam že od včeraj zvečer, problem je v scenariju ko isti produkt glasuje več kot en uporabnik;
recimo da imamo situacijo ko glasujemo produkt z id=3, uporabik user_id=5, used_ips=127.0.0.1
tabela je prazna, kliknem zvezdico, stvar gre skozi, izriše se nov rezultat ter thanks for voting!
Sedaj pa grem z drugo instanco brskalnika kot drugi uporabnik, npr. z user_id=7, vendar isti ip, ter isti produkt.
Problem je ker ne napiše thanks for voting ter ne izriše novega rezultata, torej zalomi se po 60. vrstici, preveril sem bazo in novi vnos je lepo noter.
Torej nekje od tukaj je problem (ali nižje):
$newtotals = mysql_query("SELECT SUM(total_votes), SUM(total_value) FROM $rating_dbname.$rating_tableName WHERE id='$id_sent' GROUP BY id ")or die(" Error: ".mysql_error());
Parametri so vsi ok, ker stvar gre skozi pri vrstici 57 in se vpiše v bazo, ampak očitno ne dobi novih vrednosti v primeru da je več kot en vnos za isti produkt (id).
In kar je še bolj čudno, je če v phpmyadmin vnesem tale query, gre stvar skozi, tako da mi ni jasno točno kje bi se stvar zalomila.
Vsak nasvet je dobrodošel.
http://www.masugadesign.com/the-lab/scr...
vendar sem malo predelal, ker sem potreboval določene zadeve po meri, glavna sprememba je ta da ne dodaja notri praznih vnosov ter jih nato pododobi, ampak dela insert.
Tabela pa je taka:
id (varchar 11) | user_id (varchar 20) | total_votes (int 11) | total_value (int 11) | used_ips (longtext)
Glavna koda:
http://files.myopera.com/kriko/other/rp...
Kaj ne dela? S stvarjo se zafrkavam že od včeraj zvečer, problem je v scenariju ko isti produkt glasuje več kot en uporabnik;
recimo da imamo situacijo ko glasujemo produkt z id=3, uporabik user_id=5, used_ips=127.0.0.1
tabela je prazna, kliknem zvezdico, stvar gre skozi, izriše se nov rezultat ter thanks for voting!
Sedaj pa grem z drugo instanco brskalnika kot drugi uporabnik, npr. z user_id=7, vendar isti ip, ter isti produkt.
Problem je ker ne napiše thanks for voting ter ne izriše novega rezultata, torej zalomi se po 60. vrstici, preveril sem bazo in novi vnos je lepo noter.
Torej nekje od tukaj je problem (ali nižje):
$newtotals = mysql_query("SELECT SUM(total_votes), SUM(total_value) FROM $rating_dbname.$rating_tableName WHERE id='$id_sent' GROUP BY id ")or die(" Error: ".mysql_error());
Parametri so vsi ok, ker stvar gre skozi pri vrstici 57 in se vpiše v bazo, ampak očitno ne dobi novih vrednosti v primeru da je več kot en vnos za isti produkt (id).
In kar je še bolj čudno, je če v phpmyadmin vnesem tale query, gre stvar skozi, tako da mi ni jasno točno kje bi se stvar zalomila.
Vsak nasvet je dobrodošel.
zdobersek ::
Preglej, kaj mysql_fetch_assoc shrani v $numbers spremenljivko, in preizkusi še mysql_fetch_row/array.
Lahko še poskusiš spremenit query v nekaj temu podobnega,
in potem uporabljat total_votes_sum in total_value_sum kot ključa za array.
Lahko še poskusiš spremenit query v nekaj temu podobnega,
SELECT SUM(total_votes) as total_votes_sum, SUM(total_value) as total_value_sum FROM $rating_dbname.$rating_tableName WHERE id='$id_sent' GROUP BY id
in potem uporabljat total_votes_sum in total_value_sum kot ključa za array.
kriko1 ::
Še eno vprašanje, kako zanesljivo izpisat nekam stanje spremenljivk?
V php.ini imam:
display_errors = On
error_reporting = E_ALL
kam jih sedaj stiskat če imaš stran polno tabel in ne vem še česa da bodo vidne?
V php.ini imam:
display_errors = On
error_reporting = E_ALL
kam jih sedaj stiskat če imaš stran polno tabel in ne vem še česa da bodo vidne?
kriko1 ::
Ok, vidim da se nisem še v celoti spoznal vsemogočni FireBUG, težava je bila v sintaksi, poleg tega sem nekaj zaštrihal s tistimi SUM, sem naredil tako kot je "shino" predlagal in dela perfektno!
Hvala!
Hvala!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | PHP in objektno programiranje (strani: 1 2 )Oddelek: Programiranje | 12054 (10521) | kivi113 |
» | SQL seštevanjeOddelek: Izdelava spletišč | 1534 (1318) | pizdarija1 |
» | php skripta za registracijo uporabnikovOddelek: Izdelava spletišč | 2082 (1663) | skorpio |
» | PHP - pomočOddelek: Izdelava spletišč | 1854 (1498) | BlueRunner |
» | portal ostal, baza slaOddelek: Izdelava spletišč | 1827 (1712) | bombacina |