Membres


Pas encore membre ?
inscrivez-vous ici

Connexion :
Login
Code
Mot de passe perdu ?
Liste des membres

base de donnée

Base de donnée


Pages : 1 [2] 3

Réponse à : Base de donnée     Posté le 21/02/2006 à 00:37
3run0
Administrateur
Avatar
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 )
        {
            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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
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 smiley
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
3run0
Administrateur
Avatar
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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
smiley smiley smiley smiley smiley
merci bruno je savais qu'aujourdhui y ferait clair smiley
j'ai juste modifié les parametres pour la connection est c'est nickel chrome smiley

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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
re ,

eheh savait j'avais encore une question smiley

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... smiley
j'ai que des erreurs arf voila pourquoi j'ai resolu en bidoullant lol ca je sais faire smiley

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
3run0
Administrateur
Avatar
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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
oueps smiley 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
3run0
Administrateur
Avatar
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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
smiley smiley smiley smiley
voila c'est bon ca marcheeeeeeee smiley smiley smiley smiley

merci brunooooooooooooooo smiley

_______________________
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:26
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
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
3run0
Administrateur
Avatar
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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
bonjour, (heu oui a cette heure je peux smiley )
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 smiley


_______________________
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
3run0
Administrateur
Avatar
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
cityves
Membre
Avatar
Site perso
551 posts
Inscrit le : 10/12/2004
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 smiley 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 smiley

_______________________
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
3run0
Administrateur
Avatar
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.

Nous  -  Plan du site  -  Informations légale  -  Contact  -  © Graphiks.net