Eliminazione tag da menu a tendina creato con dati prelevati da tabella Mysql

  • Creatore Discussione Creatore Discussione Rastyn
  • Data di inizio Data di inizio

Rastyn

Nuovo Utente
11 Nov 2012
4
0
0
Come posso eliminare i tag che si presentano nel visualizzare un menu' a tendina "popolato" da una tabella MySql?
Ovvero ho creato il seguente codice per il prelievo dalla tabella e la presentazione all'interno di un menù a tendina, delle colonne "codice" e "titolo":

PHP:
function video(){
	
	$connection = new mysqli(HOSTNAME, USER, PASSWORD,DATABASE);
	
	$query = "SELECT codice,titolo FROM video";

	// Run the query
	$result_obj = '';
	$result_obj = $connection->query($query);

	                         /*menu' a tendina*/
	echo "<form name=\"form\" method=\"get\" action=\"".$_SERVER['PHP_SELF']."\">";
	echo "Video: <select name='video'>";
	while($result = $result_obj->fetch_array(MYSQLI_ASSOC)) {
	

		echo "<option value=\"".isset($result['video'])."\">".isset($result['video'])."<option>";
		print_r($result);
		
	}

}

Ho come stampa a video il seguente risultato:

Array ([codice]=> 1 [titolo]=> Prova)
Array ([codice]=> 2 [titolo]=> Prova)
Array ([codice]=> 3 [titolo]=> Prova)


etc...

Ho provato con l'istruzione

filter_var(............., FILTER_SANITIZE_STRING);

ovvero

echo filter_var("<option value=\"".isset($result['video'])."\">".isset($result['video'])."<option>",FILTER_SANITIZE_STRING);

ma l'array che mi veniva sostituito era vuoto.

Avete suggerimenti.

Grazie
 
ciao
questa è solo una condizione
PHP:
isset($result['video'])
ma in realtà non stampa nulla
scrivi semplicemente cosi
PHP:
while($result = $result_obj->fetch_array(MYSQLI_ASSOC)) { 
    echo "<option value=\"" . $result['video'] . "\">" . $result['video'] . "<option>";
}
 
ciao
preceduto da criric, comunque ti faccio notare:
dal manuale php:
bool isset ( mixed $var [, mixed $... ] )
Determine if a variable is set and is not NULL.
If a variable has been unset with unset(), it will no longer be set. isset() will return FALSE if testing a variable that has been set to NULL. Also note that a NULL byte ("\0") is not equivalent to the PHP NULL constant.
If multiple parameters are supplied then isset() will return TRUE only if all of the parameters are set. Evaluation goes from left to right and stops as soon as an unset variable is encountered.
quindi cosa c'entra nell'option?
 
Si capisco avete ragione, ma come indicato da voi ho come risultato un vettore vuoto e senza "ISSET" un errore.

Per ottenere quanto voluto ho modificato il codice come segue e funziona alla perfezione:

PHP:
function video(){
	
	$connection = new mysqli(HOSTNAME, USER, PASSWORD,DATABASE);
	
	$query = "SELECT codice,titolo FROM video";

	// Run the query
	$result_obj = '';
	$result_obj = $connection->query($query);

	                         /*menu' a tendina*/
	echo "<form name=\"form\" method=\"get\" action=\"".$_SERVER['PHP_SELF']."\">";
	echo "Video: <select name='video'>";
	
	while($result = $result_obj->fetch_array(MYSQLI_ASSOC)) {
		echo "<option value=\"".isset($result['video'])."\">".isset($result['video'])."<option>";
		print_r(($result['codice'])." - ".($result['titolo']))."<option>";
	}


Non mi condannate per non essere un purista del codice.

Grazie infinite
 

Discussioni simili