N'affiche que la première ligne de la TABLE

Répondre
jackbocar
le 11/08/2007 à 18:07
jackbocar
Bonjour,

Mon problème, avec la méthode procédurale, sur cette page commanderies_A.php, s'affiche 70 informations: Ab à Az.

Avec la méthode objet, ne s'affiche que la première qui commence par Ab ?

Que puis-je faire pour que toutes les infos s'affichent ?

Merci de votre aide.

Jack Bocar


Mon code, ma requête pour afficher toutes les informations : les id, les noms, les départements, les textes commençant par la lettre A :

Exemple :

Abbeville (80)
Plusieurs de ces maisons formaient sous les Templiers une préceptorie ou petite commanderie que les Hospitaliers jugèrent à propos de supprimer, en les réunissant pour en faire des membres de la commanderie de Beauvoir...

<?php
$mysqli = new mysqli('localhost', 'jackbocar', 'XXXXXXXXXXX', 'MyBase');

if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}

$query = 'SELECT id, nom, dep, news FROM commanderies WHERE nom REGEXP "^A" ORDER BY nom ASC';
$result = $mysqli->query($query);

$row = $result->fetch_array(MYSQLI_ASSOC);

printf ('<a name="%s"></a><p class="p-com"><b class="style">%s &nbsp; (%s)</b><br /><br /><span class="com">%s</span><br />', $row["id"], MyStripSlashes($row["nom"]), $row["dep"], nl2br($row["news"]));
printf ('<br /><a href="#" class="Lnav">Top</a><br /><br />');
printf ('</p>');

$result->close();
$mysqli->close();
?>




Mon code, ma requête pour afficher mon menu et toutes les id, les noms, commençant par la lettre A :
Exemple : Abbeville

</div><div id="sidebar" class="column">
<div class="menuBarTop">Commanderies [A]</div>
<?php
$mysqli = new mysqli('localhost', 'jackbocar', 'XXXXXXXXXXX', 'MyBase');

if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}

$query = 'SELECT id, nom FROM commanderies WHERE nom REGEXP "^A" ORDER BY nom ASC';
$result = $mysqli->query($query);

$row = $result->fetch_array(MYSQLI_ASSOC);
printf ('<a href="'.$_SERVER['PHP_SELF'].'?page=commanderies_A#%s" class="menuNav">%s</a><br />', $row["id"], MyStripSlashes($row["nom"]));

$result->close();
$mysqli->close();
?>
<br /><br />
</div>
LA GLOBULE
le 11/08/2007 à 18:21
LA GLOBULE
J'ai peur de n'avoir rien compris :/
Il te manque pas une boucle pour tout afficher ?
jackbocar
le 11/08/2007 à 18:29
jackbocar
Bonjour,

Il y a deux façon de faire que je connaisse :

<?php
$query = "SELECT id, nom FROM moi ORDER by ID DESC";
if ($result = $mysqli->query($query)) {


while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
$result->close();
}
$mysqli->close();
?>


Ou

<?php
$query = "SELECT id, nom FROM moi ORDER by ID DESC";
$result = $mysqli->query($query);

$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

$result->close();
$mysqli->close();
?>
jackbocar
le 11/08/2007 à 18:39
jackbocar
Bonjour,

J'ai trouvé une autre solution pour que cela fonctionne :

<?php
$query = 'SELECT id, nom FROM commanderies WHERE nom REGEXP "^A" ORDER BY nom ASC';
if ($result = $mysqli->query($query)) {

while ($obj = $result->fetch_object()) {
printf ("%s (%s)\n", $obj->id, $obj->nom);
}
$result->close();
}
$mysqli->close();
?>


Mais, ça ne m'explique pas pourquoi de l'autre façon cela ne fonctionne pas ?

Jack Bocar
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours