Pagina 1 di 2
Domande generali mysql e php
Inviato: 08/02/2010, 15:43
da BMercer
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?
Re: Domande generali mysql e php
Inviato: 08/02/2010, 17:32
da Carlo
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 />";
}
?>
Re: Domande generali mysql e php
Inviato: 08/02/2010, 18:29
da BMercer
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
Re: Domande generali mysql e php
Inviato: 08/02/2010, 19:06
da Carlo
No, se il record estratto è solo uno, allora puoi fare semplicemente così:
Re: Domande generali mysql e php
Inviato: 08/02/2010, 19:14
da BMercer
Fatto grazie
Re: Domande generali mysql e php
Inviato: 08/02/2010, 19:48
da Carlo
Cambiare il nome:
Codice: Seleziona tutto
UPDATE clan_info SET name = 'KgL' WHERE name = 'LgK'
Cambiare il punteggio:
Re: Domande generali mysql e php
Inviato: 08/02/2010, 20:37
da BMercer
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?
Re: Domande generali mysql e php
Inviato: 08/02/2010, 20:49
da Carlo
Ma sei hai inserito la condizione isset($_POST['name']), allora non dovrebbe darti errore.
Re: Domande generali mysql e php
Inviato: 08/02/2010, 21:02
da BMercer
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.
Re: Domande generali mysql e php
Inviato: 08/02/2010, 21:36
da Carlo
Non ho capito che vuoi fare... comunque puoi provare così:
Codice: Seleziona tutto
$name = isset($_POST['name']) ? $_POST['name'] : '';