» »

[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.

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,
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?

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!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PHP in objektno programiranje (strani: 1 2 )

Oddelek: Programiranje
8511878 (10345) kivi113
»

SQL seštevanje

Oddelek: Izdelava spletišč
121521 (1305) pizdarija1
»

php skripta za registracijo uporabnikov

Oddelek: Izdelava spletišč
162065 (1646) skorpio
»

PHP - pomoč

Oddelek: Izdelava spletišč
131842 (1486) BlueRunner
»

portal ostal, baza sla

Oddelek: Izdelava spletišč
61810 (1695) bombacina

Več podobnih tem