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

Domande generali mysql e php

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

Domande generali mysql e php

Messaggio da BMercer » 08/02/2010, 15:43

Probabilmente sto andando fuori tema, ma a me interesserebbe moltissimo una cosa che non riguarda phpbb:
Ho creato un database di nome "prove", una tabella di nome "clan_info", con 3 colonne "Id, name, score", la prima in autoincrement, la seconda di tipo VARCHAR, e la terza di tipo INT.

Poi ho eseguito correttamente le seguenti query:

Codice: Seleziona tutto

INSERT INTO clan_info (name, score) VALUES ('Lgk', 0);
INSERT INTO clan_info (name, score) VALUES ('Sc', 0);
INSERT INTO clan_info (name, score) VALUES ('Afk', 0);
E così ho ottenuto una cosa del tipo:
ID 1 2 3
name Lgk Sc Afk
score 0 0 0

Ora non riesco a capire come fare in modo che il risultato di una determinata query si trasformi in una variabile di tipo "$nome_variabile" per poter essere utilizzata in uno script.

Ad esempio, vorrei che tutti i dati in "name" venissero stampati a video, quindi faccio eseguire la query:

Codice: Seleziona tutto

$sql = "SELECT name FROM clan_info ORDER BY name";
$result = mysql_query($sql, $connessione) or die('Errore nell esguzione della query');
E a questo punto ho eseguito la query, ma dove sono i dati?

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: Domande generali mysql e php

Messaggio da Carlo » 08/02/2010, 17:32

Sposto in Off-Topic.

Devi usare un ciclo while() e la funzione mysql_fetch_assoc(), esempio:

Codice: Seleziona tutto

<?php

.....
// connetto a mysql e selezionalo il db

$sql = "SELECT name FROM clan_info ORDER BY name";
$result = mysql_query($sql, $connessione) or die('Errore nell esguzione della query');

while($row = mysql_fetch_assoc($result)) {
    echo $row['name'] . "<br />";
}

?>
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: Domande generali mysql e php

Messaggio da BMercer » 08/02/2010, 18:29

Grazie mille.
E se volessi prendere solo il valore score del clan di name Lgk, bisogna che crei una cosa del tipo

Codice: Seleziona tutto

$sql = "SELECT score FROM clan_info WHERE name='Lgk'";
$result = mysql_query($sql, $connessione) or die('Errore nell eseguzione della query');
 
Ma ora devo sempre inserire il ciclo while o no?
Poi mi sapresti dire dove posso trove le funzioni tipo mysql_fetch_assoc e simili spiegate bene?
Grazie ancora

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: Domande generali mysql e php

Messaggio da Carlo » 08/02/2010, 19:06

No, se il record estratto è solo uno, allora puoi fare semplicemente così:

Codice: Seleziona tutto

$score = mysql_fetch_assoc($result); 
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: Domande generali mysql e php

Messaggio da BMercer » 08/02/2010, 19:14

Fatto grazie
Ultima modifica di BMercer il 08/02/2010, 20:02, modificato 1 volta in totale.

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: Domande generali mysql e php

Messaggio da Carlo » 08/02/2010, 19:48

Cambiare il nome:

Codice: Seleziona tutto

UPDATE clan_info SET name = 'KgL' WHERE name = 'LgK'
Cambiare il punteggio:

Codice: Seleziona tutto

UPDATE clan_info SET score = 5 WHERE name = 'KgL'
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: Domande generali mysql e php

Messaggio da BMercer » 08/02/2010, 20:37

Ho un piccolo problema però:
Quando ( dopo aver immesso i dati del database e dopo aver connesso e selezionato il database ) inserisco il seguente codice:

Codice: Seleziona tutto


if (isset($_POST['name'])) {
    
    $name = $_POST['name'];
    $sql = "INSERT INTO clan_info (name, total_score) VALUES ('". $name ."',0)";
    $result = mysql_query($sql, $connessione) or die('Errore nell eseguzione della query');
    echo "Il clan <b>". $name ."</b> è stato aggiunto con successo, se vuoi inseriscine un'altro";
    

} else {

    echo "Inserisci un nome <br/>";

} 
In modo che nel form

Codice: Seleziona tutto

<form action="#" method="post">
<input type="text" name="name" size="20" maxlength="20"><br>
<input type="submit" value="Inserisci">
</form>
Una volta inserito il nome di un clan, esso venga inserito nel database, e funziona.
Il problema è che la prima volta che lo script viene eseguito la variabile non possiede alcun valore, quindi compare sempre l'errore di variabile indefinita, come faccio a toglierla?

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: Domande generali mysql e php

Messaggio da Carlo » 08/02/2010, 20:49

Ma sei hai inserito la condizione isset($_POST['name']), allora non dovrebbe darti errore.
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: Domande generali mysql e php

Messaggio da BMercer » 08/02/2010, 21:02

No infatti scusa, il codice così funziona bene, ma solo perchè la variabile $name è dentro la condizione.
Il problema è che ora devo tirarla fuori da li perchè devo inserire tutte le funzioni in un specifico file ( includendolo poi in quella pagina ) che viene richiamato ad inizio pagina.

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: Domande generali mysql e php

Messaggio da Carlo » 08/02/2010, 21:36

Non ho capito che vuoi fare... comunque puoi provare così:

Codice: Seleziona tutto

$name = isset($_POST['name']) ? $_POST['name'] : ''; 
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti