Fonction pratique

Répondre
Lefounard
le 04/08/2004 à 04:32
Lefounard
Bonsoir a tous voila j'ai fais une petite fonction qui peut vous etre tres utile car elle s'adapte a tous type de sujet !
En gros, vous avez un site avec une bdd avec plusieur table : membre , news , commentr , .....
Dans votre partie administration vous souhaitez afficher le profil par exemple de cette news , ou de ce membre , ....
Or le probleme c ke membre n'as pas les memes champs que news , etc ....
Ainsi vous galerer a la main tous les noms des champs :
par exemple pour membre :
Pseudo : $data['pseudo']
par exemple pour news :
Titre : $data['titre']

Mais la j'ai trouver une fonction qui affiche le nom du champs + la donnée du champs , ainsi grace a cette fonction vous pouvez affichez n'importe quel type ( c "universelle").

Voila le code
Avant de commencer je tiens a preciser ces indications :
$cn : nom de votre table
$nid : nom du WHERE
$vid : valeur du WHERE

function profil($cn,$nid,$vid)
{
connect($nw); // on se connecte a la bdd
$sql ='SELECT * from '.$cn.' WHERE '.$nid.'="'.$vid.'"'; // on selection la table
$req =mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // on fait une requete

$num=0; //on initialise a 0, tres important

$nb = mysql_num_fields($req); //on compte le nombre de champs Mysql

while($row=mysql_fetch_array($req))
{
for($nm=0;$nm<$nb;$nm++)
{
//on affiche le nom du champs
echo mysql_field_name($req, $num);

//on affiche la donnée du champs
echo $row[$num];
echo "<br>";

//on incremente pour ainsi passer au champs et a la donnée suivante.
$num++;
}
}
mysql_close();
}
//l'astuce est d'utilisé un tablo associatif a indexiation numerique et ainsi incrementer une variable pour balayer le tuple ,
Tester et ca fonctionne


Fonction connect
function connect($table)
{
//ici votre liste de table

$nw='news';
$mb='membres';
......

$base = mysql_connect('server','user','password');
mysql_select_db($table,$base);
}


Merci et @++
I am singing in the rain , I am happy again !!
Lefounard
le 04/08/2004 à 04:41
Lefounard
J'ai oublier de préciser une option, effectivement vous allez me dire oui mais si je veux pas a chaque fois affichez tous les champs !!!!
Au lieu de se taper tout a la main, vous ajouter dans votre un champs Visible (par exemple) et ainsi vous rajouter AND Where Visible=oui dans votre requete et ainsi vous pouvez par exemple faire pour le membre un affichage limité et pour l'administrateur un affcihage complet , (car c vrai qu'on a rien a foutre de voir un password du membre afficher en MD5 !).
Bon bref avec un peu de reflexion je pense qu'on peut faire de truc !
I am singing in the rain , I am happy again !!
Lefounard
le 04/08/2004 à 16:23
Lefounard
Je tiens a rectifier quelques elements comme une

erreur de ma part dans la function profil c connect($cn) et pas connect($nw),


Et sinon le supplement
sur un champs visible est faux il faut que je travaille desssus pour permettre de limiter la visibilité des elements
Merci et ciao !
I am singing in the rain , I am happy again !!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours