Ses derniers messages sur les forums
Dans certains cas il ne s'agit pas pour une question de perfectionnement ou d'esthétique de faire une suite logique U(n+1) = U(n) + 1 ou même U(n) = Uo +n etc ....
Il s'agit comme dans l'exemple des positions, de pouvoir faire un reclassement utile et nécessaire.
Et je n'ai pas vu beaucoup de propositions jusqu'ici.
De plus, cette opération ne s'effectue pas 24h/24 ( c'est pas souvent ) alors je ne vois pas en quoi c'est si obligeant pour le serveur.
On prendrait pas la peine de demander de telle tâche si cela n'était pas nécéssaire. Ce n'est pas parce que des opérations comme celles-ci se font rares, qu'il faut systématiquement les exempter de toute programmation!
Necnom :)
Il y a aussi une autre solution qui consisterait à faire une selection des informations par requête. Et comme il est possible de classer les informations dans l'ordre croissant, on le fait et on les insère une par une dans un champs vide. Mais bon. Ce n'est pas automatique.
Necnom :)
Je ne pense pas que ça soit une bonne idée de procéder ainsi pour vérifier ta base. Surtout parce que $base n'est pas défini, dans ce cas c'est $connexion .
Je te propose de revoir certaines choses dans ton "code base":
-Dans ta requête, laisse un espace entre chaque demande.
$sql = 'SELECT nom, prenom, statut, date FROM famille_tbl';
Vérifie aussi que ta table est bien famille_tbl ( au début tu proposes membres_tbl.
- Vérifie aussi, les champs. Si nom, prénom statut etc... existent bien.
- Pour le while, essaie de remplacer par celui-ci :
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
Bon courage!
Necnom :)
Salut!
N'oublie pas, quand tu écris des codes, de les tapper entre les balises [ code][/code ].
Aulieu d'écrire
écris directement le nom de l'hote ... généralment c'est localhost .
Et ne met pas de variables ( si tu en as mis) pour l'utilisateur et le password non plus.
Dans ton code tu fais un if, mais, tu as oublié les accolades "{}" avant et après les echos .
essaie ton code, incu dans ton fichier php.
<?
$connexion = mysql_connect ('localhost', 'user', 'mdp');
if ($connexion != $null) {
echo "connection effectuée"; }
else {
echo "pas de connection active";
}
mysql_close();
?>
voilà. Mais si tu rentres le bon mot de passe et le bon pseudo ainsi que le bon hote, il ne devrait pas y avoir de problème.
Necnom :)
Bonjour,
Dans mirc, j'utilise l'identifieur $read.
Donc, j'ai crée la variable %cont :
set %cont $read(info.txt,1)
Ceci fonctionne très bien sauf lorsque le fichier info.txt ne contient que des nombres.
Si quelqu'un s'y connait en mirc.. ce serait sympa.
PS : 1 c'est la ligne 1 du fichier info.txt
Necnom :)
tu peux remettre ton code que tu ais sensé avoir modifié s'il te plait ?
Necnom :)
Merci beaucoup :)
Je ne sais pas pourquoi, mais dès que je rentre les données dans ma base de données ( par pages php biensur ), ben le html disparait sans que je fasse quoique ce soit
....
Necnom :)
Désolé, très mauvaise explication donnée par moi.
Dans la base les informations sont du type <> et même des <input type =button> . On peut retrouver aussi du >
Le code html n'est pas interprété à l'affichage de la page ( après reqête ). Tout le code s'affiche sur la page ^^.
Et quand je regarde la source, je comprends pourquoi. les < sont transformé en $gt etc ...
Necnom :)
Bonjour,
J'ai des données du type '<br><i>blabla</i>' ( html) dans ma base de données.
Un simple echo m'affiche les codes aulieu de s'en servir. Comment régler ce problème ?
Merci d'avance..
PS: je précise que l'attribut est "TEXT" dans la bdd.
Necnom :)
Si toute fois il faullait reclasser un champs. Est-ce que le code que je propose serait correct ?
<?php
// Il nous faut trouver le nombre d'informations enregistrées dans la base de données
// requête sql
$sql='SELECT id, position FROM ma_table';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on compte et le nombre trouvé doit être le nombre maximal dans le champs position. Si il y a 26 données, il y a donc 26 positions et la positions de la dernière données est 26
$nb_max = mysql_num_rows($req);
// remarquons que l'on part du principe où le champs position a pour première valeur 1.
// on vérifie donnée par donnée que tout est dans l'ordre et qu'il n'y ait pas de trous.
$nb_fetch = "1";
while ($data = mysql_fetch_array($req)) {
$data['id'] = $id; // on a simplifié la variable
if ( $data['position'] <= $nb_max ) {
// on vérifie que la position est bien celle qu'il faut si non, on la change
if ( $data['position'] != $nb_fetch ) {
sql2='UPDATE ma_table SET position="'.$nb_fetch.'" WHERE id="'.$id.'"';
// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die) ^^
mysql_query($sql2) or die('Erreur SQL pour une reclassification !'.$sql2.'<br />'.mysql_error());
}
}
// on n'oublie pas après d'augmenter la valeur de $nb_fetch si non, toutes les positions seraient de 1
$nb_fetch = $nb_fetch + 1;
// on termine le reclassement
if ( $data['position'] > $nb_max ) {
mysql_close ();
echo'Le reclassement des positions est effectué!';
}
}
?>
On admet qu'il n'y a pas de position 0, et qu'il ne peut y avoir deux mêmes positions.
On peut placer ce code après chaque insertion si le champs position n'est pas auto incrémenté ( quoique, même quand c'est auto-incrémenté ...), ou après chaque suppression.
Vous pouvez me donner votre avis s.v.p ?
Necnom :)