Voilà, ma question est simple : comment compter et sélectionner le nombre de champs présents dans une table ?
Merci d'avance
$result = mysql_query("SHOW COLUMNS FROM maTable");
$tableau = array();
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$tableau[] = $row['Field'];
}
}
count($tableau); > nb de champs de la table maTable
//La condition ne doit retourner qu'un ligne => soucis d'optimisation
$str_requete = "SELECT * FROM ma_table WHERE id=1"
$o_result = mysql_query($str_requete);
$a_result = mysql_fetch_array($o_result);
$nb_champ = count($a_result);
echo "Il y a ".$nb_champ." champs dans la table ma_table";
et comme ça :Je dirais bieun truc comme ca :
Quand tu fait un SELECT *, tu sélectionnes tout les champs et quand tu fait un mysql_fetch_array, tu créé un tableau dont le nombre de cases est le nombre de champs donc il ne te plus qu'a compter le nombre de cases du tableau
//La condition ne doit retourner qu'un ligne => soucis d'optimisation $str_requete = "SELECT * FROM ma_table WHERE id=1" $o_result = mysql_query($str_requete); $a_result = mysql_fetch_array($o_result); $nb_champ = count($a_result); echo "Il y a ".$nb_champ." champs dans la table ma_table";
//La condition ne doit retourner qu'un ligne => soucis d'optimisation
$str_requete = "SELECT * FROM ma_table WHERE id=1"
$o_result = mysql_query($str_requete);
$nb_champ = mysql_num_fields($o_result);
echo "Il y a ".$nb_champ." champs dans la table ma_table";
http://fr3.php.net/manual/fr/function.m ... fields.php
Et si id=1 n'existe pas?et comme ça ://La condition ne doit retourner qu'un ligne => soucis d'optimisation $str_requete = "SELECT * FROM ma_table WHERE id=1" $o_result = mysql_query($str_requete); $nb_champ = mysql_num_fields($o_result); echo "Il y a ".$nb_champ." champs dans la table ma_table";
Ben tu fais d'abord ma methodeet pour faire le INSERT tu fais comment si tu connais pas le nombre de champs et le type de chacun ?![]()