phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Pagine

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: Pagine

Messaggio da BMercer » 18/05/2010, 19:14

mysql_fetch_assoc inserisce di base i records in un array.
E a cosa mi servirebbe contare i topic totali?

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Pagine

Messaggio da Carlo » 18/05/2010, 19:31

BMercer ha scritto:E a cosa mi servirebbe contare i topic totali?
L'hai chiesto tu in un messaggio precedente o sbaglio?
BMercer ha scritto:[...] non posso con una sola query fare un controllo di quante discussioni ci sono in totale e dire: [...]
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: Pagine

Messaggio da BMercer » 18/05/2010, 19:41

Ma il senso era che non si può fare un conteggio dei records di una query con limit 0,10 , perchè si sà già che saranno 10. E poi per fare il conteggio basta un mysql_num_rows.
Non è quello il problema. Il problema è che effettuando una query del tipo "SELECT * FROM xxx" vorrei mostrare solo i primi 10 risultati. Il problema è che non riesco a capire come.

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Pagine

Messaggio da Carlo » 18/05/2010, 19:52

Mi è venuta l'idea! :mrgreen:

Prima di tutto esegui la query. Poi esegui un while estraendo solo 10 topics, in questo modo.

Codice: Seleziona tutto

$i = 0;

while($row = mysql_fetch_assoc($result)) {
    // qui il tuo codice
    
    $i++;
    if ($i == 10) break;
} 
Non ricordo bene, ma se non sbaglio la cosa si può fare anche con un ciclo for.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Pagine

Messaggio da Micogian » 18/05/2010, 23:54

Si, si può fare

for ($i = 0; $i < 10; ++$i) {
........ esegui $i.....
}

BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: Pagine

Messaggio da BMercer » 19/05/2010, 14:44

L'istruzione break mi mancava. :D
Grazie mille.

Per il ciclo for, ci avevo già provato ma mi venivano così 2 cicli concatenati e particamente i primi 10 topic mi venivano ripetuti per 10 volte, il che non è proprio bello xD

Comunque non voglio aprire un altro topic per un dubbio stupido che mi è venuto in mente ora:
Con htmlspecialchar in teoria trasforma alcuni caratteri come < > o " in caratteri html &qualcosa .
Ora, nel mio "forum" il messaggio che una persona invia attraverso una textarea con metodo post, viene filtrato da un addslashes e un htmlspecialchars per sicurezza e nella pagina in cui il messaggio viene mostrato vi è una codifica (per mezzo di 2 array) di alcuni bbcode importanti (come , [url], o [quote]). Ho testato un messaggio, ma non mi legge gli "a capo". Nel senso che se scrivo un messaggio:

Una riga
Due righe
Tre Righe

Esso viene mostrato così:

Una rigaDue righeTre righe

Ma quando attraverso una funzione vado a modificarlo, nella textarea riappare:

Una riga
Due righe
Tre righe

Come faccio a fare in modo che compaiano anche i caratteri speciali che riguardano l'"a capo"?

E poi è proprio necessario inserire addslashes e htmlspecialchar in ogni tipo di input che l'utente produce? E anche nelle variabili get?

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Pagine

Messaggio da Carlo » 19/05/2010, 15:35

BMercer ha scritto:Come faccio a fare in modo che compaiano anche i caratteri speciali che riguardano l'"a capo"?
Nell'area di testo è normale che gli "a capo" vengano visti correttamente, ma nel codice HTML no, perchè esiste un preciso tag per andare a capo.

Per risolvere esegui questa sostituzione prima di mostrare il testo:

Codice: Seleziona tutto

$messaggio = "contenuto del messaggio
bla bla bla";
$messaggio = str_replace("\r", "<br />", $messaggio); 
Se sei su un server Windows invece usare \r\n invece di \r.

Se ciò ti serve per quella piattaforma forum che stavi sviluppando, usa \r\n, così sarai sicuro che funzionerà anche a chi utilizzerà Windows.

BMercer ha scritto:E poi è proprio necessario inserire addslashes e htmlspecialchar in ogni tipo di input che l'utente produce? E anche nelle variabili get?
Vuoi avere sicurezza, o no? :mrgreen:
Nelle variabili GET e POST vengono automaticamente inserite gli slash se è attiva un opzione del PHP, cui ora non mi viene in mente il nome. Anche questa per sicurezza.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: Pagine

Messaggio da BMercer » 20/05/2010, 18:49

Grazie mille. :P

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 98 ospiti