Pages : 1 [
2]
3
Réponse à : Base de donnée Posté le 21/02/2006 à 00:37
3run0Administrateur
1747 posts
Inscrit le : 1/10/2004
<?
$resultat_sql = mysql_query("select * from referants order by referant ASC",$connexion);
$resultat_sql = mysql_query("select * from referants order by hits DESC Limit 0,$nbreferants",$connexion);
$nombreligne = mysql_num_rows($resultat_sql);
if ( $nombreligne > 0 )
{
echo "<table cellpadding=0 cellspacing=0 align=center width=100% border=0>";
$i = 0;
while ( $i<$nombreligne )
{
$id = mysql_result($resultat_sql,$i,"id");
$referant = mysql_result($resultat_sql,$i,"referant");
$hits = mysql_result($resultat_sql,$i,"hits");
$serveur = ereg_replace("(http://[^/]*/)(.*)", "1", $referant);
$affiche.= "
<tr>
<td><a href="$referant" target="_blank">$serveur</a></td>
<td align=right>$hits</td>
<td>.fois</td>
</tr>";
$i++;
}
echo $affiche;
echo "</table>";
}
?>
attention au . devant = ($affiche.=)
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 21/02/2006 à 00:55
arf pareil et j'ai du remettre les anti slash a la ligne a href....
<td><a href=\"$referant\" target=\"_blank\">$serveur</a></td>
car y'avait une erreur sintaxe sinon.
mais ca affiche quand même que les n° comme lien
bon je vais faire dormir les yeux lol demain y fera jour
merci encore bonne nuit Yves.
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 21/02/2006 à 11:33
3run0Administrateur
1747 posts
Inscrit le : 1/10/2004
bon je t'ai fait un code plus clean
<?
mysql_connect("localhost", "user", "pass"); // Connexion à MySQL
mysql_select_db("data_base") or die ('Erreur :'.mysql_error());
//-------------------------------------------------------
print '<table cellpadding="0" cellspacing="0" align="center" width="100%" border="0">';
$requete=mysql_query("SELECT * FROM referants ORDER BY hits DESC LIMIT 0,10");
while ($ligne = mysql_fetch_array($requete)){
$id=$ligne['id'];
$referant=$ligne['referant'];
$hits=$ligne['hits'];
$serveur =parse_url($referant);
print '<tr>
<td><a href="'.$referant.'" target="_blank">'.$serveur['host'].'</a></td>
<td align="right">'.$hits.'</td>
<td>.fois</td>
</tr>';
}
print '</table>';
?>
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 21/02/2006 à 12:08
merci bruno je savais qu'aujourdhui y ferait clair
j'ai juste modifié les parametres pour la connection est c'est nickel chrome
Merci pour tout.
je vois encore un detail ou deux et c'est bon.
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 21/02/2006 à 16:46
re ,
eheh savait j'avais encore une question
voilà j'ai resolu le fait que mes pages et liens du site ne soient pas prises en compte mais j'ai fait cela disons pas tres pro. j'ai simplement ajoute cela avant la deco de l'include:
mysql_query("delete from referants where referant like 'http://chtyves.freeheberge.com%'",$connexion);
si y'a moyen a l'occase de faire un peu comme le $ref! que tu m'as decrit ce serait mieux non ?
j'y suis pas arrivé avec des "||" ou "&&" ect...

j'ai que des erreurs arf voila pourquoi j'ai resolu en bidoullant lol ca je sais faire
mais y'a pas le feu ca marche comme ca là donc si t'as un creux lol
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 21/02/2006 à 18:09
3run0Administrateur
1747 posts
Inscrit le : 1/10/2004
<?
$ref=htmlentities($_SERVER['HTTP_REFERER'], ENT_QUOTES);
if($ref!=''){ // <= edit
$ndd_ref=parse_url($ref); // decoupage en tableau de l'url
// si le referer different de chtyves.freeheberge.com on execute le code
if($ndd_ref['host']!='chtyves.freeheberge.com'){
// -------------------- connexion SQL ----------------------------
mysql_connect("localhost", "user", "pass"); // Connexion à MySQL
mysql_select_db("data_base") or die ('Erreur :'.mysql_error());
//-------------------------------------------------------
$resultat_sql = mysql_query("SELECT referant FROM referants WHERE referant = '".$ref."'");
$nombreligne = mysql_num_rows($resultat_sql);
if ($nombreligne == 0){
mysql_query("INSERT INTO referants (referant, hits) values ('".$ref."', '1')");
}else{
$hits=$nombreligne+1;
mysql_query("UPDATE referants SET hits='".$hits."' WHERE referant = '".$ref."'");
}
// déconnexion
mysql_close();
}
} // <= edit
?>
Ce code comptablise les page referantes -ttp//www.un-site.com/page.html
sans se melanger les pinceaux quand une url ressemble à ça:
-ttp//www.un-site.com/page.php?site=www.un-autre-site.com
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 21/02/2006 à 18:39
oueps

y'a rien qui va là ca interfere avec le portail warning a tout va comme quoi je modifie les class de connection mes headers vont plus
ca annule et ca reaffiche lol et aussi ca compte le lien des marques page ...
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 21/02/2006 à 18:42
3run0Administrateur
1747 posts
Inscrit le : 1/10/2004
c'est peut être "mysql_close();" qui met le souk.
vire le pour voir
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 21/02/2006 à 19:32
Réponse à : Base de donnée Posté le 22/02/2006 à 00:26
bonsoir ,
bon a force de modifier je m'y retrouve plus arf
et je melange tout j'arrive plus a enregistrer dans la base y'a dix enregistrements mais pas plus ni nouveau ni identique qui s'ajoute !
j'ai tellement cherché lol je vois même plus ou que ca coince .
en fait soit il faut que lorsque qu'il y a dix enregistrement le 11 eme remplace le dixieme
mais il semble que plus rien s'ajoute .
j'ai remis les codes comme tout a l'heure donc j'en suis là 10 enregistrements et terminé.
si tu peut m'orienter ....
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 22/02/2006 à 00:44
3run0Administrateur
1747 posts
Inscrit le : 1/10/2004
ben je sais pas ce que tu a modifié, mais le code pour enregistrer les referants n'a aucune limitations en nombres de lignes.
Par contre celui qui les affiche, ne montre que dix referents classé par nombre de hits,
=> SELECT * FROM referants ORDER BY hits DESC LIMIT 0,10
c'est pas forcements le résultat attendu, il faudrait un champs date, pour afficher les 10 derniers passages.
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 22/02/2006 à 12:18
bonjour,
oui je suis d'accord et j'avais vu cela mais comme je procede par etape j'en etais là au depart c'est bien ce que je voulais les dix derniers referants avec le nombre de fois .
mais dans la table ca dois bien continuer a enregistrer ?
hors ca n'enregistre pas et effectivement je vois pas ce qui empeche d'enregistrer et limite a dix lignes dans la table....
car moi aussi je considere que la ligne qui limite a 10 pour l'affichage ne bloque pas les enregistrements ?
edit-->
bon j'ai trouvé l'include n'est pas pris en compte par index.php je vais voir pour le mettre ailleurs...arf
edit-->
voila c'est bon fallait mettre juste apres la variable qui mettait le souk hier...
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 23/02/2006 à 01:12
bonjour, (heu oui a cette heure je peux

)
voila je cherche a supprimer de la base quand celle ci a 10 lignes la plus ancienne avant d'y mettre la new j'ai mis un champ date avec timestamp et j'ai cherché avec ca mais bon j'ai pas reussi
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 23/02/2006 à 11:49
3run0Administrateur
1747 posts
Inscrit le : 1/10/2004
salut yves,
grosso modo ça pourrait ressembler à ça
mysql_query("DELETE FROM referants WHERE id='".$nombre_d_entrees - 10."' LIMIT 1");
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 23/02/2006 à 12:07
bonjour,
oui en fait j'ai essayé des choses qui ressemblent a cela (trop de tests pour les mettre ici lol).
j'ai reussi a un moment a supprimer une ligne si => a 10 mais ca supprime la derniere de la table ou la premiere.
je sais pas comment faire je pense qu'il faut reordonner la table par champ date asc pour supprimer avec limite 1 donc la plus ancienne des dates

c'est pas si j'ai ete clair sur ce coup là mais bon toutes les requetes de cette nuit se melangent encore dans ma tête
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
Réponse à : Base de donnée Posté le 23/02/2006 à 12:27
3run0Administrateur
1747 posts
Inscrit le : 1/10/2004
alors tu recupere l'id qui interesse
$requete=mysql_query("SELECT date,id FROM referants ORDER BY date DESC LIMIT 0,1");
dans ce cas tu a la date la plus vielle
while ($ligne = mysql_fetch_array($requete)){
$id=$ligne['id'];
$date=$ligne['date'];
}
mysql_query("DELETE FROM referants WHERE id='".$id."' AND date='".$date."' LIMIT 1");
print 'la ligne '.$id.' du '.$date.' est suprimée';
_______________________
_ww.gabian-herault.com
Pages : 1 [
2]
3 Vous n'est pas connecté en temps que membre, parceque j'en ai marre du spam, SEUL les membres peuvent poster des messages sur le forum.