IN POCHE PAROLE: ho creato un piccolo guestbook, o social network, uno si iscrive, entra, e può benissimo pubblicare degli stati sulla board del mio sito, con tanto di nome cognome data ora testo commenti e i tic come gli ho chiamati io, una sorta di mi piace sotto forma di numero.
ECCO IL PROBLEMA: se un tipo preme tic ad un post, in teoria, la variabile tic, ovvero il numero iniziale 0, dovrebbe aumentare. Il problema è che ogni input tic dovrebbe essere disposto di un id per così riferirsi non ad un post qualsiasi ma al post a cui io ho approvato se così vogliamo dire.
Qui ho incollato tutto della logica degli script, ora...come potrei assegnare ad ogni input, nel name, l'id del post, cioè delo stato, così da essere collegato a quest'ultimo?
ALLO SCRIPT HO AGGIUNTO DEI COMMENTI PER UN AIUTO IN PIU' PER VOI, ANCHE SE LA COSA E' PIU' SEMPLICE DI QUELLO CHE POTREBBE SEMBRARE.
SPERO DI ESSERE STATO CHIARO, CHIEDO ESTREMO AIUTO POICHE' E' DA UN PO CHE IN QUESTO PUNTO MI RITROVO FERMO NON TROVANDO NIENTE DI UTILE NEL WEB!
Codice PHP:
<?php
/*-----FUNZIONE STATO, O POST()---------------------------------------------------------*/
function stato() { /*FUNZIONE STATO*/
global $nom, $cog; /*NOME E COGNOME*/
$sdb; /*COLLEGAMENTO AL DATABASE*/
$sql = 'SELECT COUNT(*) FROM stato'; /*CONTO IL NUMERO DEI POST*/
$query = mysql_query($sql);
$nrw = mysql_fetch_row($query);
if ($nrw[0] > 0) { /* VERIFICA SE IL NUMERO DEI POST E' SUPERIORE A 0*/
$sql = 'SELECT * FROM stato ORDER BY ID DESC'; /* SELEZIONO I POST IN ORDINE DI ID DECRESCENTE*/
$query = mysql_query($sql);
$nrw = mysql_num_rows($query);
while ($nrw = mysql_fetch_assoc($query)) { /*CREAZIONE DATI DEL POST*/
global $id;
$date = $nrw['DATE'];
$time = $nrw['ORA'];
$id = $nrw['ID']; /*ID DEL POST, ID ANCHE DEL INPUT TIC, AIUTO! COME FUNZIONA ORA?*/
$text = $nrw['TESTO'];
$com = $nrw['COM'];
$tic = $nrw['TIC']; /* QUI X ESEMPIO AVEVO IDEA DI FARE $tic = $nrw['TIC']['ID'] ANDREBBE?*/
$stato = "<div id='box8'> /* ECCO, QUESTO E' IL POST */
<div id='box13'>
$nom $cog
</div>
<div id='box12'>
$text
</div>
<form method='POST' id='box15'>
<span id='ncom'>$com</span>
<input
type='submit'
name='com'
value='c'
id='com'
class='btn0'
onmouseout=\"this.className = 'btn0'\"
onmouseover=\"this.className = 'btn1'\"/>
<span id='ntic'>$tic</span>
<input
type='submit'
name='tic' /* IL FAMOSO NAME DELL'INPUT*/
value='+'
id='tic'
class='btn0'
onmouseout=\"this.className = 'btn0'\"
onmouseover=\"this.className = 'btn1'\"/>
</form>
<div id='box14'>
$time | $date
</div>
</div>";
echo $stato; /* STAMPA DEI VARI POST PUBBLICATI */
$text = NULL; /* RESET DEL TESTO*/
}
}
}
/*-----FUNZIONE TIC()---------------------------------------------------------*/
function tic() {
$sdb; /* COLLEGAMENTO AL DATABASE */
$sql = "SELECT * FROM stato WHERE ID=$id"; /* QUI INIZIANO I PROBLEMI, INTERROGO PRENDENDO LE RISORSE DEL DATABASE CON ID UGUALE ALL'ID DEL POST, AIUTO ANCHE QUI*/
$query = mysql_query($sql);
$nrw = mysql_num_rows($query);
while ($nrw = mysql_fetch_assoc($query)) {
$tic = $nrw['TIC'];
}
$tic = true; /* SEL AL PREMERE TIC DIVENTA VERA, AUMENTA DI 1*/
if ($tic == true) {
$tic++;
}
mysql_query("UPDATE stato SET TIC=$tic WHERE ID=$id"); /* AGGIORNO IL DATABASE CON IL NUOVO VALORE DELLA VARIABILE TIC*/
}
/*----------INIZIO DELLO SCRIPT-------------------------------------------------------------------------------------------------------------*/
if (isset($_POST['comment'])) { /* SE SCRIVO DENTRO ALLA TEXTAREA DEL TESTO E PREMO INVIA */
$text = $_POST['comment'];
if ($text!='') {
global $tic, $com;
$con;
$date = (date('d-m-Y'));
$time = (date('g:i A'));
$tic = 0;
$com = 0;
mysql_query
("INSERT INTO stato VALUES ('','".$nom."','".$cog."','".$date."','".$time."','".$text."','".$com."','".$tic."')"); /*INDERISCO I DATI NEL DATABASE*/
$query = mysql_query("SELECT * FROM stato ORDER BY ID DESC LIMIT 1") or die (mysql_error()); /* SELEZIONO ULTIMO POST PUBBLICATO*/
$nrw = mysql_num_rows($query);
if ($nrw!=0) {
while ($nrw = mysql_fetch_assoc($query)) {
$text = $nrw['TESTO'];
stato(); /*ESEGUO FUNZIONE STATO*/
}
}
} else {
$text = NULL;
}
} else {
stato(); /* SE NON HO PUBBLICATO ALCUNO STATO, ALLORA VENGONO CARICATI TUTTI GLI ALTRI, COME SE FOSSI ANDATO SULLA BACHECA DI FACEBOOK, VENGONO STAMPATI TUTTI GLI STATI.
if (isset($_POST['$id'])) { /* ECCO, SE PREMO TIC, OVVERO UN TIPO DI MI PIACE, ALLORA ESEGUO FUNZIONE TIC()*/
tic();
}
$_SERVER['PHP_SELF'];
}
?>