PHP/MYSL : affichage enreg sur 2 colonnes

tonguim -  
 tonguim -
Bonjour,

j'ai des articles dans ma table, et je voudrais en afficher 40 par page, dans 2 colonnes, à raison de 20 articles par colonne.
J'utilise PHP 4.3.3 et MySQL 4.0.15. Voici mon code ci-dessous, qui me présente l'erreur suivante:

Fatal error: Call to undefined function: gmp_mod() in c:\program files\autres\easyphp1-7\www\new_version\html\actualites\cq_de_presse\frarchives2.php on line 23


<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
	<head>
       <title>Title here!</title>
	</head>
	<body>
		<?php
		$conn_mysql=mysql_connect("localhost", "root", "");
		if($conn_mysql)
		{
			$conn_bd=mysql_select_db("sitewuo");
			if($conn_bd)
			{
				$requete="select*from articles";
				$resultat=mysql_query($requete);
		?>
				<table>
				<?php
					$debut_ligne='<tr><td height="92" width="17"></td>';
					$nombre_articles=0; 					
					while ($ligne = mysql_fetch_assoc($resultat) && ++$nombre_articles <= 40)//40 articles par page
					{
					if (gmp_mod($nombre_articles, "20")==1) //20 articles par colonnes
						echo $debut_ligne;
				?>
				<td valign="top" align="center" width="102">
				<?php echo $ligne['titre']; ?> <br><br> <?php echo $ligne['resume']; ?> </td>
				<?php
					if (gmp_mod(++$nombre_colonnes, "2")==2) echo "</tr>";
				}//fin du while
				?>
		</table>
		<?php
		}
	
			else //si echec de la connection a la base de donnees
				die(mysql_error());
		}
		else //si echec de la connection au serveur mysql
			die(mysql_error()); //<?php echo $_GET['numeroArticles']
	?> 
	</body>
</html>


Merci de m'aider

2 réponses

  1. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    Bah pour ce qui est de code,j'ai pô matter tout en détail car je pense que le message : "Fatal error: Call to undefined function: gmp_mod()"
    est assez explicite : La fonction gmp_mod n'est pas défini, regarde si c'est pas a mettre en extension ou sinonessai p'tet un truc de ce genre :
    <?php

    if($a<0) //Si $a est négatif
    {
    $a=$a*(-1); //On le passe en positif
    }
    $res=$a%$b;

    ?>

    -->revient au même que<--

    <?php $res=gmp_mod($a, $b); ?>

    Voilà,j'espère que ça te sera utile..
    @+
    Zep3k!GnO W3bSl@V3
    0
  2. tonguim
     
    Bonjour,

    j'ai essayé ce que Zep3k!GnO m'a conseillé de faire et voici ci-dessous le code obtenu; lorsque j'exécute ce code, j'obtiens une page toute blanche dont j'arrive à afficher le code source (html bien sur) dans un navigateur. Où est l'erreur dans mon code s'il vous plaît?:

    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    	<head>
           <title>Title here!</title>
    	</head>
    	<body>
    	<form>
    		<?php
    		$conn_mysql=mysql_connect("localhost", "root", "");
    		if($conn_mysql)
    		{
    			$conn_bd=mysql_select_db("sitewuo");
    			if($conn_bd)
    			{
    				$requete="select titre, resume from articles order by date desc";
    				$resultat=mysql_query($requete);
    		?>
    				<table>
    				<?php
    					$debut_ligne='<tr><td height="92" width="17"></td>';
    					$nombre_articles=0;
    					$nombre_colonnes=0;
    					while ($ligne=mysql_fetch_assoc($resultat) && ++$nombre_articles <= 40)//40 articles par page
    					{
    					//if (gmp_mod($nombre_articles, "20")==1) //20 articles par colonnes
    					//***********
    					if($nombre_articles<0) //Si $a est négatif
    					{
    						$nombre_articles=$nombre_articles*(-1);
    					}
    					$res=$nombre_articles%20; 
    					//***********					
    
    					if($res==1)
    						echo $debut_ligne;
    				?>
    				<td valign="top" align="center" width="102">
    				<?php echo $ligne['titre']; ?> <br><br> <?php echo $ligne['resume']; ?> </td>
    				<?php
    				//**************
    					if($nombre_colonnes<0)
    					{
    						$nombre_colonnes=$nombre_colonnes*(-1);
    					}
    					$res2=$nombre_colonnes%20; 
    				//**************
    					//if (gmp_mod(++$nombre_colonnes, "2")==2) echo "</tr>";
    					if($res2==2) echo "</tr>";
    				}//fin du while
    				?>
    		</table>
    		<?php
    		}
    	
    			else //si echec de la connection a la base de donnees
    				die(mysql_error());
    		}
    		else //si echec de la connection au serveur mysql
    			die(mysql_error()); //<?php echo $_GET['numeroArticles']
    	?> 
    	</form>
    	</body>
    </html>
    0