Imprimer la Page | Fermez la fenêtre

Mysql db Php

Imprimé depuis: Forum openElement
Categorie:

openElement


Nom du Forum: OE dynamique - bases de données etc.
Description du Forum: Le systeme de gestion de données et les Paquets d'Elements
URL: https://forums.openelement.uk/fr/forum_posts.asp?TID=22422
Date: 28 Mar 2024 à 23:50
Version logiciel: Web Wiz Forums 12.04 - http://www.webwizforums.com


Sujet: Mysql db Php
Posté par: Slake
Sujet: Mysql db Php
Posté le: 08 Dec 2016 à 23:12
Bonjour tout le monde,

Je débute sur OE Smile

Donc je suis en train de créer un site dynamique, je dois le connecter a une db ou il est a pas mal de données.

J'ai créé une page et j'ai inséré un code php tout simple connexion db et création d'un simple tableau ce code fonctionne très bien sur un page créée complètement avec Notepad++.
Le problème c'est sur OE je ne sais pas pourquoi il bloque la lecture ou la récupération des datas à 791 enregistrements il y en a plus de 1000.

Exemple du code:


<?php

$db = new PDO('mysql:host=***.***.***.***;dbname=base1','toto','toto');
$res = $db->prepare('SELECT COUNT(Test) as nbr FROM db');
$res->execute();

echo '<table style="border-collapse: collapse;">';
while ($data = $res->fetch()) {
echo'<tr>
<td>'.$data['nbr'].'</td>
</tr>';
}
echo '</table>';
?>

Même avec un select * je n'ai pas les données complète de DB.

Si vous savez une idée ???

Merci d'avance Wink



Réponses:
Posté par: Dmit OE
Posté le: 08 Dec 2016 à 23:24
Bonsoir.

Si le code fonctionne sur une page creee manuellement et non sur OE... Vous etes sur d'avoir tout verifie?

D'abord, comment vous testez la page, avec AMP, en ligne? Le serveur de OE n'a pas de MySQL, meme en PDO (je crois).

Maintenant, modifiez le code pour verifier si c'est au niveau de lecture ou de generation du tableau que ca bloque:

<?php

$db = new PDO('mysql:host=***.***.***.***;dbname=base1','toto','toto');
$res = $db->prepare('SELECT COUNT(Test) as nbr FROM db');
$res->execute();

$counter = 0;
while ($data = $res->fetch()) {
$counter++;
}
echo $counter; exit();
?>

Normalement vous ne verrez que le nombre de lignes obtenues.

Vous avez place le code ou, dans quel type de Block et quel endroit?


Posté par: Dmit OE
Posté le: 08 Dec 2016 à 23:25
P.S. Dans votre code actuel, $res cpontient seulement le resultat de COUNT (nombre de lignes) donc le boucle while() n'a pas de sens.


Posté par: Slake
Posté le: 08 Dec 2016 à 23:36
Bonsoir,

Code testé en ligne sur 1and1, et inséré dans un code de bloc Visuel.

J'ai procédé au modif et le résultat obtenu est bien celui que je pensai
avec SELECT COUNT(Test) ça me renvoie 1 --> Normal
par contre si je fais un SELECT Test ça me renvoie --> 791 pas normal




Posté par: Slake
Posté le: 08 Dec 2016 à 23:49
Je sais que la boucle ne sert à rien mais j'ai dut réduire mon SQL pour trouver d'ou viens le probléme


Posté par: Slake
Posté le: 12 Dec 2016 à 21:07
un petit up :)


Posté par: Dmit OE
Posté le: 12 Dec 2016 à 22:21
Si vous ouvrez phpMyAdmin (normalement fourni par 1&1) et lancez la meme requete dans l'onglet SQL sur la meme(!!) base:

SELECT * FROM db

Ca donne combien de lignes?


Posté par: Dmit OE
Posté le: 12 Dec 2016 à 22:23
Et pareil pour

SELECT COUNT(Test) as nbr FROM db


Posté par: Slake
Posté le: 13 Dec 2016 à 08:53
Hello,

Je vous fait un petit retour... et j'ai résolu mon problème.

Ma requete fonctionne j'utilise MySQL Manager pour les tester avant :) et elle me retoune 1080 enregistremants. 

Mon code était correcte, j'ai testé mes 2 fichiers identiques à 100% un fonctionne l'autre pas...

J'ai décider de changer d’hébergeur et op tout fonctionne bien j'ai toutes mes données qui remonte...

Le problème vient de One & One ... problème résolu :) 

Merci


Posté par: Dmit OE
Posté le: 13 Dec 2016 à 10:36
C'est quand meme trop trop bizarre comme probleme meme pour 1&1.. cela dit je leur fais pas trop de confiance en general



Imprimer la Page | Fermez la fenêtre

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net