J'ai cette requête: Afficher les colonnes de Mash CODE> qui fonctionne bien dans ma boucle tandis que la boucle de construction d'un élément de sélection fabriqué à partir de noms de colonne de table. Mais dans ma table, j'ai "ID" et "Tstamp" que je ne veux pas dans l'élément Select, est-ce possible pour exclure ces colonnes?
echo "<form action='".$_SERVER['PHP_SELF']."' method='get'>";
connectDB();
$result = mysql_query("SHOW COLUMNS FROM mash") or die(mysql_error());
echo '<select name="column" class="column">';
while ($row = mysql_fetch_array($result)) {
echo "<option value='".$row[0]."'>".ucwords($row[0])."</option>";
}
closeConn();
echo '</select>';
echo "</form>";
4 Réponses :
Oui, c'est possible. Au lieu d'utiliser Afficher les colonnes CODE> Utilisez
Informations_schema code>
. Information_schema code> est la manière ANSI d'extraire des métadonnées à partir d'une base de données relationnelle. Dans MySQL, vous pouvez utiliser: P>
$sql = "select column_name from information_schema.columns c " +
" where c.table_schema = 'db_name' " +
" and c.table_name='table_name' " +
" and c.column_name like 'name%'";
Utilisez un Ceci va simplement ignorer le Supprimez ces champs de la requête comme ceci: p> Continuer code>
dans la boucle tandis que Ces champs sont récupérés, comme celui-ci: p> ID code> et
ttstamp code> champs et traiter tous les autres .
Continuer CODE> est utilisé dans les structures de boucle pour ignorer le reste de l'itération de la boucle en cours et poursuivre l'exécution à l'évaluation de la condition, puis le début de la prochaine itération. P>
MySQL Way: H2>
@ Benhowdle89: uk.php.net/manual/fr/control-tructures .Continue.php - Il saute le reste de l'itération actuelle de la boucle (dans ce cas, cela irait à ($ rangée ...)). Le manuel fin a des informations utiles, la plupart du temps.
@ Benhowdle89, j'ai modifié la réponse pour montrer ce que continuer.
Merci Shamittomar, réponse très détaillée, je supporterai "continuer" à l'esprit pour l'avenir!
Vous pouvez utiliser comme opérateur.
SHOW COLUMNS FROM mash LIKE "name%"
Pour voir juste la colonne "Collyvation" qui apparaît dans Afficher les colonnes complètes de Tablename Code> pour un seul champ, c'est:
select * from information_schema.columns
where TABLE_SCHEMA = 'tableschemaname' and TABLE_NAME = 'tablename' and COLUMN_NAME = 'fieldname';