begin process at 2012 05 31 01:10:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

probléme avec mes fonction mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probléme avec mes fonction mysql

mardi 20 avril 2010 à 19:26:34 | probléme avec mes fonction mysql

jinin

Salut j'ai essayer de faire une script qui affiche page par page des article que moi l'admin je poste sur ma partie index de mon site voici mes erreur:
1:Notice: Undefined variable: record in c:\mes_sites_web\cbc\article\index_article.php on line 139
2/Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\mes_sites_web\cbc\article\index_article.php on line 161

3:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\mes_sites_web\cbc\article\index_article.php on line 169
mon script est le suivant:
<?

$display=10;
if(isset($_GET['p']) && is_numeric($_GET['p']))
{
$page=$_GET['p'];
}
else{
include('config.php');
$q="SELECT count(id_article) from article";
$r=@mysql_query($q);
$row=@mysql_fetch_array($q);
$records=$row[0];

if($record>$display)
{
$page=ceil($record/$display);
}else{
$page=1;
}
}
if(isset($_GET['s']) && is_numeric($_GET['s']))
{
$start=$_GET['s'];
}
else{
$start=0;
}
$q=" SELECT titre,nom,texte,email,DATE_FORMAT(poster,%M %d,%Y) AS poster,id_article FROM article ORDER BY poster ASC LIMIT $start,$display";
$r=@mysql_query($q);
echo'<table align="center" cellspacing=0 cellpadding=5 width="550" height="351">
<tr>
<td>LISTE DES RESOUCES PAR ORDRE</td><tr>
<tr>
<td>COMPTE RENDU</td>
<td>POSTE LE</td></tr> ';
$dta=mysql_num_rows($r);
if($dta>0)
{
echo'<tr><td></td>
<td><em>'.$dta['texte'].'</em></td></tr>
<td>'.$dta['poster'].'</td>';}

$bg='#eeeeee';
while($row=mysql_fetch_array($r))
{
$bg=($bg=='#eeeeee'?'#E8E4BD':'#eeeeee') ;
echo'<tr bgcolor="'.$bg.'">
<td align="left"><a href="read_article.php?id='.$row['id_article'].'">LIRE</a></td>'.$row['poster'].'</td></tr>';}
echo'</table>';
mysql_free_result($r);
mysql_close();

if($page>1)
{
echo'<br/><p>';
$current_page=($start/$display)+1;
if($current_page != 1)
{
echo'<a href="index_article.php?s='.($start-$display).'$p='.$page.'">Prec&eacute;c&eacute;dent</a>';
}
for($i=1;$i<=$page;$i++)
{
if($i!=$current_page)
{
echo'<a href="index_article.php?s='.(($display*($i-1))).'$p='.$page.'">'.$i.'</a>';
}
else
{
echo $i.'';
}
}
if($current_page != $page)
{
echo'<a href="index_article.php?s='.($start+$display).'$p='.$page.'">Suivant</a>';
}
echo'</p>';
}
?>


mardi 20 avril 2010 à 19:32:03 | Re : probléme avec mes fonction mysql

kohntark

Membre Club
Salut,

Pense à indenter ton code et à utiliser la balise qui permet la coloration syntaxique. Pense également à indiquer clairement quelles sont les lignes concernées par les erreurs (139, 161, 169)
Ton code n'en sera que plus lisible et tu auras plus de réponses.

Je n'ai que très brièvement parcouru, mais $records != $record

Cordialement,

Kohntark -

mardi 20 avril 2010 à 19:55:53 | Re : probléme avec mes fonction mysql

jinin

Merci. IL N'apparait null part dc tu comprends
Code PHP :
><?
	
	$display=10;
			if(isset($_GET['p']) && is_numeric($_GET['p']))
			{
			$page=$_GET['p'];
			}
			else{
			include('config.php');
			$q="SELECT count(id_article) from article";
			$r=@mysql_query($q);
			$row=@mysql_fetch_array($q);
			$records=$row[0];
			
					if($record>$display)
					{
					$page=ceil($record/$display);
					}else{
					$page=1;
					}
			}
			if(isset($_GET['s']) && is_numeric($_GET['s']))
			{
			$start=$_GET['s'];
			}
			else{
			$start=0;
			}
	$q=" SELECT titre,nom,texte,email,DATE_FORMAT(poster,%M %d,%Y) AS poster,id_article  FROM article ORDER BY poster ASC LIMIT $start,$display";
	$r=@mysql_query($q);
	echo'<table align="center" cellspacing=0 cellpadding=5 width="550" height="351">

	<tr>
	<td>LISTE DES RESOUCES PAR ORDRE</td><tr>
	<tr>
	<td>COMPTE RENDU</td>
	<td>POSTE LE</td></tr> ';

	$dta=mysql_num_rows($r);
	if($dta>0)
	{
	echo'<tr><td></td>

	<td><em>'.$dta['texte'].'</em></td></tr>
	<td>'.$dta['poster'].'</td>';}

	
	$bg='#eeeeee';
	while($row=mysql_fetch_array($r))
	{
	$bg=($bg=='#eeeeee'?'#E8E4BD':'#eeeeee') ;
	echo'<tr bgcolor="'.$bg.'">

	<td align="left"><a href="read_article.php?id='.$row['id_article'].'">LIRE</a></td>'.$row['poster'].'</td></tr>';}

	echo'</table>';
	mysql_free_result($r);
	mysql_close();
	
				if($page>1)
				{
						echo'<br/><p>';
						$current_page=($start/$display)+1;
						if($current_page != 1)
						{
						echo'<a href="index_article.php?s='.($start-$display).'$p='.$page.'">Prec&eacute;c&eacute;dent</a>';
						}
						for($i=1;$i<=$page;$i++)
						{
								if($i!=$current_page)
								{
								echo'<a href="index_article.php?s='.(($display*($i-1))).'$p='.$page.'">'.$i.'</a>';
								}
								else
								{
								echo $i.'';
								}
						}
							if($current_page != $page)
						{
						echo'<a href="index_article.php?s='.($start+$display).'$p='.$page.'">Suivant</a>';
						}
						echo'</p>';
				}
	?>
mardi 20 avril 2010 à 20:07:50 | Re : probléme avec mes fonction mysql

kohntark

Membre Club
Oulà, ce n'est pas parfait mais c'est nettement mieux !!

IL N'apparait null part dc tu comprends


Désolé, non, je ne comprends pas, et à première vue nous avons du mal à nous comprendre :

Quand je te dis :

Je n'ai que très brièvement parcouru, mais $records != $record


Je veux attirer ton attention sur l'oubli du S de $recordS

Code PHP :
$records=$row[0]; // <== là il y a un S
			
if($record>$display) { // <== là il n'y a pas de S à $record, ce qui fait que la variable n'est pas définie
   $page=ceil($record/$display); // <== là aussi !
// [...]


Cordialement,

Kohntark -

mardi 20 avril 2010 à 21:20:02 | Re : probléme avec mes fonction mysql

jinin

je l'ai corriger $records est devenue $record
Code PHP :
<?
	
	$display=10;
			if(isset($_GET['p']) && is_numeric($_GET['p']))
			{
			$page=$_GET['p'];
			}
			else{
			include('config.php');
			$q="SELECT count(id_article) from article";
			$r=@mysql_query($q);
			$row=@mysql_fetch_array($q);
			$record=$row[0];
			
					if($record>$display)
					{
					$page=ceil($record/$display);
					}else{
					$page=1;
					}
			}
			if(isset($_GET['s']) && is_numeric($_GET['s']))
			{
			$start=$_GET['s'];
			}
			else{
			$start=0;
			}
	$q=" SELECT titre,nom,texte,email,DATE_FORMAT(poster,%M %d,%Y) AS poster,id_article  FROM article ORDER BY poster ASC LIMIT $start,$display";
	$r=@mysql_query($q);
	echo'<table align="center" cellspacing=0 cellpadding=5 width="550" height="351">

	<tr>
	<td>LISTE DES RESOUCES PAR ORDRE</td><tr>
	<tr>
	<td>COMPTE RENDU</td>
	<td>POSTE LE</td></tr> ';

	$dta=mysql_num_rows($r);
	if($dta>0)
	{
	echo'<tr><td></td>

	<td><em>'.$dta['texte'].'</em></td></tr>
	<td>'.$dta['poster'].'</td>';}

	
	$bg='#eeeeee';
	while($row=mysql_fetch_array($r))
	{
	$bg=($bg=='#eeeeee'?'#E8E4BD':'#eeeeee') ;
	echo'<tr bgcolor="'.$bg.'">

	<td align="left"><a href="read_article.php?id='.$row['id_article'].'">LIRE</a></td>'.$row['poster'].'</td></tr>';}

	echo'</table>';
	mysql_free_result($r);
	mysql_close();
	
				if($page>1)
				{
						echo'<br/><p>';
						$current_page=($start/$display)+1;
						if($current_page != 1)
						{
						echo'<a href="index_article.php?s='.($start-$display).'$p='.$page.'">Prec&eacute;c&eacute;dent</a>';
						}
						for($i=1;$i<=$page;$i++)
						{
								if($i!=$current_page)
								{
								echo'<a href="index_article.php?s='.(($display*($i-1))).'$p='.$page.'">'.$i.'</a>';
								}
								else
								{
								echo $i.'';
								}
						}
							if($current_page != $page)
						{
						echo'<a href="index_article.php?s='.($start+$display).'$p='.$page.'">Suivant</a>';
						}
						echo'</p>';
				}
	?>
mardi 20 avril 2010 à 21:47:48 | Re : probléme avec mes fonction mysql

kohntark

Membre Club
OK, et alors, qu'est ce que ça dit maintenant ? Ca fonctionne ?


Kohntark -

mardi 20 avril 2010 à 22:01:08 | Re : probléme avec mes fonction mysql

jinin

bon, les fonctions:mysql_fetch_array et mysql_num_rows and mysql_free_result ne sont pas les fonctions valides pour extraction des données dans ma table article.Je ne comprends pourquoi il me met ces erreurs.Merci
mardi 20 avril 2010 à 23:04:27 | Re : probléme avec mes fonction mysql

kohntark

Membre Club
Je pense qu'il serait préférable que tu donnes les messages d'erreurs complets, sans chercher à les traduire, et d'indiquer clairement quelles sont les lignes concernées, comme je te le demandais lors de mon premier post :

Pense également à indiquer clairement quelles sont les lignes concernées par les erreurs



J'ai un peu la flemme ce soir et, même si ton code est simple, je n'ai pas le courage de chercher alors qu'il est si simple que tu précises les choses.

A noter tout de même :
<?
=>
le tag d'ouverture d'un script PHP est <?php

$q="SELECT count(id_article) from article";
$r=@mysql_query($q);

$row=@mysql_fetch_array($q);
// => $row=@mysql_fetch_array($r);
$record=$row[0];

Tes @ ne sont pas recommandés :
Dans un contexte de développement et de debug supprime les :
if (false === $r = mysql_query($q)) {
die('erreur sur la requête '.$q.' :<br />.'mysql_error());
}


Cela t'aidera à trouver et corriger rapidement les erreurs, comme celle de ta seconde requête.

Dans un contexte de prod il est impératif d'interdire l'affichage des erreurs (par mesure de sécurité et de confort de l'utilisateur).
Une solution est d'ajouter en début de script :
ini_set('display_error', 0);


mysql_close() et mysql_free_result()
=> ne servent à rien dans 99% des cas car la connexion est fermée automatiquement à la fin du script (et le "free result" avec).
Ce n'est cependant pas pénalisant de le mettre.

etc ...


Kohntark -

mercredi 21 avril 2010 à 01:33:04 | Re : probléme avec mes fonction mysql

jinin

les erreurs sont à la ligne 12,37 et 51.Merci pour compréhension
mercredi 21 avril 2010 à 08:23:45 | Re : probléme avec mes fonction mysql

kohntark

Membre Club

Désolé de me répéter :

Je pense qu'il serait préférable que tu donnes les messages d'erreurs complets,



les erreurs sont à la ligne 12,37 et 51


Ne penses tu pas qu'il serait plus simple pour ceux qui te lisent, de donner le code correspondant à ces lignes, voire de redonner le code modifié ?
Parce qu'en faisant un copier / coller de ton code :
12 => $row=@mysql_fetch_array($q);
37 => <td>POSTE LE</td></tr> ';
51 => $bg=($bg=='#eeeeee'?'#E8E4BD':'#eeeeee') ;

Ca m'étonnerait que ça soit ça hein.

Qu'en est il après avoir appliqué les quelques modifications que je te suggérais ?


Kohntark -


1 2

Cette discussion est classée dans : page, mysql, echo, article, if


Répondre à ce message

Sujets en rapport avec ce message

affichage page par page avec variables [ par piervs ] J'ai un petit (en fait plutot gros) problème et je me permet donc de solliciter votre aide:J'essaye d'afficher à l'aide de PHP les résultats d'une req page par page [ par kennnnnny ] Je voudrais affiché des produits page par page, mais l'inconvénient c'est que g un menu principal qui affiche un second menu dans la même page. Et lor Probleme envoie de variable. [ par apledam ] Bonjour a tous.J'ai un petit problème, j'ai créer une base de données contenant des infos et des photos j'aimerais afficher les infos dans une premier envoyer des données récupérer dans une autre page php [ par titsuisse ] Bonjour,Je suis débutant en php et je suis coincé. Voilà mon problème. Je veux faire un site de petites annonces. J'ai plusieurs tables. J'ai une page Problème d'affichage par page [ par redjay ] Bonsoir, Voilà, j'ai un soucis avec un script d'affichage par page... En effet, lorsque la page s'affiche, elle m'affiche bien une limite de news mai Menu déroulant avec récupération des données via mysql --> PB [ par cougar5 ] Bonjour à tous,Je suis un débutant en code php. (et nouveau également sur ce site)Il m'a fallu la journée pour créer 2 pages PHP. (Merci internet et l Probleme avec l'affichage de pagination [ par zakichane ] bonjour tt le monde j'ai créer un code qui permet d'afficher les resultat d'une requet (qui sont les nom des fichiers images que je veux les affiché)  probleme de debutant avec php et Mysql [ par DraaFil ] Bonjour èa tous, je ne sais pas pkoi mais mon code n'afiche rien, le voici:Premiers pas en PHP  $host = "localhost"; Comment faire pour afficher cette requete sur plusieur pages ? [ par skyman272 ] Bonjour, question pour les pros du PHPLa requette dans le code ci dessous fonctionne mais le resultat devrait s'afficher sur plusieurs pages. 5 résult pb de passage de paramètres [ par sandro38000 ] Bonjour à tous et a toutes,je débute à programmer en php et j'ai rencontrer un problème lors du passage de paramètre d'une page à une autre.Je m'expli


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales