Colonnes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Colonnes

par Invité » 03 mars 2005, 18:12

Ok merci pour tout !! Je vais relire php de long en large!! :wink:
Bonne soirée :D

par Cyrano » 03 mars 2005, 18:06

Ok, essaye ça:
<body>
<table >
<?php
require_once('Connections/conn_oufti.php');

mysql_select_db($database_conn_oufti, $conn_oufti);
$query_test = "SELECT * FROM t_news ORDER BY news_date DESC";
$test = mysql_query($query_test, $conn_oufti) or die(mysql_error());
$row_test = mysql_fetch_assoc($test);
$nbr=count($row_test);
$nbr=mysql_num_rows($test);
$row_test = mysql_fetch_assoc($test)
$i=0;
while ($i<$nbr)
{
?>
<tr>
<td widht="50%" valign="top"> <?php echo $row_test['news_texte']; ?><?php echo $row_test['news_date']; ?> </td>
</tr>
<?php
	$i++;
}
?>
</table>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($test);
?> 
Je dois déconnecter pour ce soir, analyse tout ça. Il se trouvera peut-être une âme charitable pour me remplacer ce soir, mais théoriquement, ça devrait être ok.
Bon courage, dans un mois, tu en riras tellement... ;)

par véro » 03 mars 2005, 17:51

<body>
<table >
<?php
$row_test = mysql_fetch_assoc($test);
$nbr=count($row_test);
$nbr=mysql_num_rows($q);
$milieu=$nbr/2;
$milieu=round($milieu);
$i=0;
while ($i<$nbr)
{
?>
<?php do { ?>
<tr>
<td widht="50%" valign="top"> <?php echo $row_test['news_texte']; ?><?php echo $row_test['news_date']; ?> </td>
</tr>
<?php } while ($row_test = mysql_fetch_assoc($test)); ?>
<?php
$i++;
}
?>
</table>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($test);
?>
bon j'ai tel'ment chipoté que je sais plus ou je vais... :oops:
Si tu vois explique ..moi je ne vois plus rien... :(

par Cyrano » 03 mars 2005, 17:34

BOn ok, tout a l'air ok. Par contre, ton message plus haut faisait état d'une variable $q indéfinie que je ne vois nulle part dans les lignes que tu viens d'envoyer...? Peut-être bien que le nom de variable n'est pas le bon ou alors elle n'est pas initialisée.

par Invité » 03 mars 2005, 17:23

?php require_once('Connections/conn_oufti.php'); ?>
<?php
mysql_select_db($database_conn_oufti, $conn_oufti);
$query_test = "SELECT * FROM t_news ORDER BY news_date DESC";
$test = mysql_query($query_test, $conn_oufti) or die(mysql_error());
$row_test = mysql_fetch_assoc($test);
$totalRows_test = mysql_num_rows($test);
?>
Voila pour la connection....

par Véro » 03 mars 2005, 17:21

Et si j'elève " $nbr=mysql_num_rows($q); " Ben j'ai mes enregistrement mais sur une colonne... :roll:

par Cyrano » 03 mars 2005, 17:21

Difficile de t'aider sans voir le code... envoie les lignes de connexion (en masquant tes codes d'accès s'il sont directement dedans) et on pourra sans doute trouver le bobo.

grrr

par Véro » 03 mars 2005, 17:15

Oui tout est ok de ce côté et oui je fonctionne avec phpMyadmin....Je comprend pas....Pffffff :?

par Cyrano » 03 mars 2005, 17:09

As-tu bien fait la connexion à MySQL avant de balancer la requête ? c'est une erreur classique....;)
Sinon, est-ce que la requête fonctionne directement avec PhpMyAdmin ?

grrrr

par Véro » 03 mars 2005, 17:06

Je sais pas pourquopi mais j'ai le message suivant " Notice: Undefined variable: q in c:\program files\easyphp1-7\www\t_compris2\untitled2.php on line 22
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\t_compris2\untitled2.php on line 22'

Pourquoi il en veut pas lui ?? grrrrrrr :evil: :cry:

par Cyrano » 03 mars 2005, 15:33

Dans la mesure où ta requête comporte une limite, tu auras 5 enregistrements si le paramètre est 5.
Pour l'affichage du nombre de lignes, tu fais ça avec une boucle while comme indiqué par demipoulp ou une boucle for:
La première chose à tester est le nombre de résultats obtenus (il peut n'y avoir que les 4 derniers même si tu en as demandé 5 maximum); tu initialise un pointeur et tu boucle en incrémentant le pointeur jusqu'au maxi obtenu.
En reprenant (et optimisant quelque peu) le code de demipoulp, tu peux faire quelque chose de ce style:
<table >
<?php
$row_test = mysql_fetch_assoc($test);
//On compte les resultats
$nbr=count($row_test);
$i=0;
while ( $i < $nbr )
{
    //affichage de ttes resulats dans une ligne de tableau
?>
    <tr>
        <td widht="50%" valign="top"><?php echo $row_test['news_texte']; ?></td>
    </tr>
<?php
    $i++;
}
?>
</table>

oups

par vero » 03 mars 2005, 15:31

Voila le code dont on a besoin..Désolée... :oops:

<?php do { ?>
<?php echo $row_test['news_texte']; ?>
<?php } while ($row_test = mysql_fetch_assoc($test)); ?>
</body>
</html>
<?php
mysql_free_result($test);
?>

par Invité » 03 mars 2005, 15:04

Cyrano,

En fait j’ai un titre, un texte et une date a afficher (Style news) de plusieurs champs mais de la mm table et j’aimerais mettre les 10 derniers enregistrement sur 2 colonnes

Voila mon code..
<?php
$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;

mysql_select_db($database_conn_oufti, $conn_oufti);
$query_Recordset1 = "SELECT * FROM t_news";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $conn_oufti) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

if (isset($_GET['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

?>

Mais comment avoir 5 enregistrements par colonne ?

demipoulp,

Je vais tester !
:lol:

par demipoulp » 03 mars 2005, 14:24

tout depand de la fome de ton tableau mais tu peus partir sur quelque chose comme ca :

Code : Tout sélectionner

<table ><tr><td widht="50%" valign="top"> <?php //On cherche le milieu des resultats $nbr=mysql_num_rows($q); $milieu=$nbr/2; $milieu=round($milieu); ?> <?php $i='0'; while ( $r= ) { //affichage de ttes resulats if ( $i==$milieu) { echo "</td><td>" ;} $i++; } </td></tr></table>

par Cyrano » 03 mars 2005, 14:22

On peut t'aider avec un bout de code de départ, ça va éclairer le débat qui pour l'instant est un peu abstrait : extrais-tu de ta base deux champs distincts d'une table ou bien des valeurs d'un seul champ mais dont tu voudrais l'affichage sur deux colonnes ?