Pages : [
1]
2 3
Base de donnée Posté le 19/02/2006 à 00:00
Bonjour,
je cherche a ajouter une table dans ma base de donnee.
CREATE TABLE referants (
id int(10) DEFAULT '0' NOT NULL auto_increment,
referant char(200) NOT NULL,
hits int(10) DEFAULT '0' NOT NULL,
UNIQUE id (id)
);
voilà ca me dit chaque fois que je peut pas mettre la valeur "0" par defaut a "id"
j'ai fait la table manuellement et pareil ca veut pas mettre la valeur par defaut "0"
premiere question lol j'en ai une autre mais ca je sais que vous savez
________________________
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 19/02/2006 à 18:54
3run0Administrateur
1759 posts
Inscrit le : 1/10/2004
ben commence à 1
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 19/02/2006 à 18:59

tu penses bien que comme je sais pas faire j'ai essayé 1,2,3.... même a,b,c,....
mais bon pareil...
_______________________
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 19/02/2006 à 19:12
3run0Administrateur
1759 posts
Inscrit le : 1/10/2004
t'a pas accés a phpmyadmin ?
www.tonsite.com/phpmyadmin/
en général c'est aussi simple que ça.
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 19/02/2006 à 19:19
lol ben si (post 1 manuellement...)
la table je l'ai mise avec phpadmin
mais le champ "id" je peut pas lui mettre la valeur comme j'ai expliqué...
_______________________
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 19/02/2006 à 19:21
3run0Administrateur
1759 posts
Inscrit le : 1/10/2004
<?php // fichier info_connect.php
mysql_connect("localhost", "user", "pass"); // Connexion à MySQL
mysql_select_db("nom_data_base") or die ('Erreur :'.mysql_error());
?>
<? // fichier de creation de la table "referants"
include('info_connect.php');
mysql_query("CREATE TABLE referants (
id mediumint(11) NOT NULL auto_increment,
date datetime NOT NULL default '0000-00-00 00:00:00',
referant varchar(200) NOT NULL default '',
hit varchar(10) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM");
mysql_close(); // D?connexion de MySQL
?>
tu lances ce fichier.php avec les infos de connexions et ça roule
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 19/02/2006 à 19:30
ben a la main ou avec requete :
TABLE `referants` `id` INT( 10 ) NOT NULL DEFAULT ? AUTO_INCREMENT
MySQL a répondu:Documentation
#1067 - Invalid default value for 'id'
j'ai beau mettre ce que je veut il veut pas le mettre alors qu'au champ "hits" il le prends...
et même si je mets rien il accepte pas 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 19/02/2006 à 19:34
3run0Administrateur
1759 posts
Inscrit le : 1/10/2004
regardes mon code il n'y a pas default à l'id.
puis essaye le tel quel, j'aurai pas l'impression de l'avoir fait pour rien.
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 20/02/2006 à 10:07
lol non tu as pas fait pour rien mais c'est le même resultat que si je fais manuellement le champ "id" n'as toujours pas la valeur '0' par defaut ...
ton champ date c'est bien mis egalement (je l'ai enlevé après) j'ai pas besoin
et je ne peut toujours pas donner cette valeur par defaut a id sauf si j'enleve attribut "autoincremente"
_______________________
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 20/02/2006 à 13:05
3run0Administrateur
1759 posts
Inscrit le : 1/10/2004
Salut Yves
pourquoi tu veut donner la valeurs 0 a id, vu qu'il est autoincremente?
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 20/02/2006 à 17:52
bonjour,
bon voilà ou j'en suis, cela fonctionne mais je voudrais ameliorer encore un peu voilà ce que j'ai comme fichier :
l'include suivant:
<?
// parametres de connexion
require("config.php3");
$ref=htmlentities($_SERVER['HTTP_REFERER'], ENT_QUOTES);
// connexion au serveur MySQL
$connexion = mysql_connect("$dbhost","$user","$password");
if ( !$connexion ) { echo "Impossible d'effectuer la connexion"; exit; }
// sélection de la base de données
$db = mysql_select_db("$usebdd", $connexion);
if ( !$db ) { echo "Impossible de sélectionner cette base de données"; exit; }
$resultat_sql = mysql_query("select * from referants where referant like '$ref'",$connexion);
$nombreligne = mysql_num_rows($resultat_sql);
if ($nombreligne == 0)
{
$resultat_sql = mysql_query("insert into referants (referant, hits) values ('$ref', '1')",$connexion);
}
elseif ($nombreligne > 0)
{
$hits = mysql_result($resultat_sql,0,"hits");
$hits++;
$resultat_sql = mysql_query("update referants set hits='$hits' where referant like '$ref'",$connexion);
}
// déconnexion
mysql_close($connexion);
?>
et le fichier qui affiche :
<title>Les Référants de ChtYves</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
$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");
echo "
<tr>
<td><a href="$referant" target="_blank">$referant</a></td>
<td align=right>$hits</td>
<td>.fois</td>
</tr>";
$i++;
}
echo "</table>";
}
?>
<?
// déconnexion
mysql_close($connexion);
?>
Alors deux questions comment faire pour que si on clique dans les favoris du coup y'a pas de referants et que donc on le met pas dans la base? car là ca le met avec evidemment un blanc oueps pas
bien ça...
la deuxieme question comment si on peut faire en sorte qu'a l'affichage le lien soit moins grand .
_______________________
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 20/02/2006 à 18:07
3run0Administrateur
1759 posts
Inscrit le : 1/10/2004
<?
// parametres de connexion
require("config.php3");
$ref=htmlentities($_SERVER['HTTP_REFERER'], ENT_QUOTES);
// si $ref diferent de ''
if($ref!=''){
// connexion au serveur MySQL
$connexion = mysql_connect("$dbhost","$user","$password");
if ( !$connexion ) { echo "Impossible d'effectuer la connexion"; exit; }
// sélection de la base de données
$db = mysql_select_db("$usebdd", $connexion);
if ( !$db ) { echo "Impossible de sélectionner cette base de données"; exit; }
$resultat_sql = mysql_query("select * from referants where referant like '$ref'",$connexion);
$nombreligne = mysql_num_rows($resultat_sql);
if ($nombreligne == 0)
{
$resultat_sql = mysql_query("insert into referants (referant, hits) values ('$ref', '1')",$connexion);
}
elseif ($nombreligne > 0)
{
$hits = mysql_result($resultat_sql,0,"hits");
$hits++;
$resultat_sql = mysql_query("update referants set hits='$hits' where referant like '$ref'",$connexion);
}
// déconnexion
mysql_close($connexion);
}
?>
pour la largeur
echo "<table cellpadding=0 cellspacing=0 align=center
width=100% border=0>";
width peut etre en % ou px
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 20/02/2006 à 19:02
Merci bruno

ca marche
j'avais resolu en ajoutant une requete qui efface si referant=''
mais là c'est mieux

ca fait moins de travail a la connection
pour la largeur j'ai du mal m'expliquer en fait comment on fait pour que l'url qui est recuperee et qui s'affiche sur le site soit comme ici moi ca la mets en entier alors c'est trop long.?
apres j'ai une autre question

mais je veux pas monopoliser
_______________________
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 20/02/2006 à 19:17
3run0Administrateur
1759 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);
echo "
<tr>
<td><a href="$referant" target="_blank">$serveur</a></td>
<td align=right>$hits</td>
<td>.fois</td>
</tr>";
$i++;
}
echo "</table>";
}
?>
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 20/02/2006 à 23:59
bonsoir,
je trouve pas cette erreur de "," ou ":"
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/ftp/chtyves/public_html/referants_db/referants-voir.php3 on line 26
la ligne 26 est:
<td><a href="$referant" target="_blank">$serveur</a></td>
_______________________
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 à 00:12
3run0Administrateur
1759 posts
Inscrit le : 1/10/2004
<?php
echo '
<tr>
<td><a href="'.$referant.'" target="_blank">'.$serveur.'</a></td>
<td align="right">'.$hits.'</td>
<td>.fois</td>
</tr>';
?>
Je vois pas non plus où se trouve l'erreur, reécris le de cette façon, tu veras.
_______________________
_ww.gabian-herault.com
Réponse à : Base de donnée Posté le 21/02/2006 à 00:30

ca marche pas ,
j'ai enlevé erreur en mettant comme ca:
<td><a href=\"$referant\" target=\"_blank\">$serveur</a></td>
mais la y'a que les n° "1" qui s'affichent et qui servent de liens...
_______________________
c'est déjà assez triste de n'avoir rien à dire !!!
Si en plus il fallait se taire.....
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.