Select dinamica con PHP

  • Creatore Discussione Creatore Discussione Cx91
  • Data di inizio Data di inizio

Cx91

Nuovo Utente
15 Gen 2012
3
0
0
Salve a tutti, sono nuovo di questo forum. Volevo illustrarvi un problema che non riesco a risolvere. Ho creato un form in html dove vi è una select che prende le opzioni da una query SQL. Volevo capire come mai, aperta la pagina in html, invece di avere il classico menù a tendina con i valori acquisiti, visualizza il seguente codice "; while($row=mysql_fetch_assoc($query)) { echo "".$row['tesserati'].""; } echo""; ?> . Vi posto il codice originario e voglio aggiugere che utilizzo EasyPHP 5.3.8.1 in locale
Codice:
<form name="datiTesserati" action="rispostaTesserati.php" method="post">
PHP:
<?php
$link=mysql_connect("127.0.0.1","root","");
$query=mysql_query("SELECT TESSERATI.Cognome FROM TESSERATI", $link);
echo"<select name=\"tesserati\">";
while($row=mysql_fetch_assoc($query))
{
    echo "<option value=\"".$row['tesserati']."\">".$row['tesserati']."</option>";
}
echo"</select>";
?>

Grazie mille a tutti coloro mi aiuteranno a risolvere questo piccolo problema :)
 
ciao
intanto benvenuto nel forum
visto così ad occhio mi sembra che lo script non presenti errori,
l'unica cosa che secondo manca e la scelta del db

PHP:
$sel = mysql_select_db($db) or die (mysql_error());
 
Grazie mille a tutti per la risposta...Comunque inserendo anche la connessione al database il testo con il ciclo while scompare...ma il problema ancora persiste...invece di visualizzare sempre la select ora mi visualizza questo frammento di codice qui...".$row['tesserati'].""; echo ""; ?> !!!...
 
ciao
ho visto ora, ma tu vuoi estrarre Cognomi, quindi dovrebbe essere

PHP:
<?php 
$link=mysql_connect("127.0.0.1","root","");
//la selezione del db
$query=mysql_query("SELECT Cognome FROM TESSERATI ORDER BY Cognome", $link); //ti conviene in ordine alfabetico
echo"<select name=\"tesserati\">"; 
while($row=mysql_fetch_assoc($query)) 
{ 
    echo "<option value=\"".$row['Cognome']."\">".$row['Cognome']."</option>"; 
} 
echo"</select>"; 
?>
prova, al massimo non funzia ancora
 
Niente da fare purtroppo...mi visualizza sempre questo ".$row['Cognome'].""; echo ""; ?>...non riesco a capire dove siano i problemi...
 
A me succede quando uso l'apertura abbreviata di php

PHP:
<?

//codice

?>


Avevo letto da qualche parte che sono impostazioni del file ini di php
 
ciao
fai una prova, commenta la parte della <select> e metti un var_dump

PHP:
<?php  
$link=mysql_connect("127.0.0.1","root",""); 
//la selezione del db 
$query=mysql_query("SELECT Cognome FROM TESSERATI ORDER BY Cognome", $link); //ti conviene in ordine alfabetico 
//echo"<select name=\"tesserati\">";  
while($row=mysql_fetch_assoc($query))  
{  
    var_dump($row['Cognome'];
    //echo "<option value=\"".$row['Cognome']."\">".$row['Cognome']."</option>";  
}  
//echo"</select>";  
?>
e posta cosa riporta, sembrerebbe quasi che in cognome ci fosse qualche porcheria:confused:
 
Ciao.. interessante una Select dinamica...

Non potresti by-passare le variabili dalla tabella alla pagina php ed in seguito
inserirle dentro la select NON con l'operatore punto ma con <? echo $variabie; ?>

Codice:
$cognome=$row['cognome'];
<option value="<? echo $cognome; ?>"><? echo $cognome; ?></option>




Questo un piccolo esempio di semplice inserimento (mi secca creare la tabella)
PHP:
<?php
$link1="http://forum.mrwebmaster.it/";
$link2="http://www.google.it/";
$nome1="Forum Mr.Webmaster";
$nome2="Google";
?>

<select onChange="location.href=this.value">
<option value="-">seleziona</option>
<option value="<? echo $link1; ?>"><? echo $nome1; ?></option>
<option value="<? echo $link2; ?>"><? echo $nome2; ?></option>
</select>

Esempio
 
ciao
@max
guarda che scrivere come ha fatto Cx91 o come hai scritto tu è la stesa identica cosa, l'nterprete php porta tutto in html.
quanto ha scritto Cx è sintatticamente corretto, quindi forse c'è qualche porcheria nel Cognome e che, se c'è, sia col tuo che col suo il risultato è lo stesso
 
Ciao

A me succede quando uso l'apertura abbreviata di php

PHP:
<?

//codice

?>


Avevo letto da qualche parte che sono impostazioni del file ini di php

Codice PHP:

<?php
session_start();
require_once("connetti.php");

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>";


$datadinascita = $anno . "-" . $mese . "-" . $giorno;
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma = mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));


$qry = "UPDATE utenti SET
datadinascita='$datadinascita',
citta='$citta',
provincia='$provincia',
anno_diploma='$anno_diploma',
occupazione='$occupazione'
WHERE id = '".$_SESSION['id']."'";

echo $qry;

if (mysql_query($qry)){
echo "... Aggiornamento effettuato correttamente....";

} else {
echo " Errore: Non è stato possibile effettuare l'aggiornamento richiesto";


}
?>


[/PHP]

Ora il punto è il seguente. Se lo prendo dalla select non mi viene aggiornato, mentre se lo inserisco nell'input, viene aggiornato. Mi puoi dare una mano anche tu per favore ??? Devo fa convivere le due cose. Grazie. Spero di essermi spiegato a sufficienza
 

Discussioni simili