Page 1 sur 1

Mysqli - Afficher cellule à modifier

Posté : 26 oct. 2015, 20:19
par polux78
Bonjour mes sauveurs…

Passer de mysql à mysqli me pose problèmesssss !
Les fichiers ci-dessous me retournent une page blanche, sans code d’erreur.

Résumé : Je veux ouvrir une fiche existante pour en modifier certaines cellules (mise à jour)
1 – Je ne sais pas si je faute sur l’ouverture de la base ou
2 – Si l’instruction
<input type="text" name="type" value="<?php echo mysqli_result($query,0,"type") ?>"
n’est pas adaptée à “mysqli”

Merci pour votre aide

******** 1 - Sélection de la table et de l’id (une fiche sélectionnée dans un listing)********

<?PHP
include ("pass/paul.inc.php"); // valid
// définir la structure des dates
$date = date("Y-m-d");
$d_modif = $date;
// on récupère le No "id"
if(isset($_POST['id'])) $id=$_POST['id'];
else $id="";
if (!isset($submited))
{
// On se connecte à la base de données
$link = mysqli_connect ($host,$user,$pass,$db) or die ("Impossible de se connecter à MySQL");
// echo '<pre>', print_r($GLOBALS), '</pre>'; // Pour suivre l’id
// On va chercher les infos pour l'identifiant unique qui a été envoyé.
$select = "SELECT * FROM conserves WHERE id= '$id' ";
// Récupérer les résultats
$result = mysqli_query($link, $select);// or die('Erreur SQL !<br>'.$select.'<br>'.mysqli_error());
// Fixer les résultat
$data = mysqli_fetch_array($result);
?>

********* 2 - Affichage du tableau non modifiable (Historique)*********

<input TYPE="hidden" name="id" value="<?php echo $row ['$id'] ?> ">
<input TYPE="hidden" name="d_new" value="<?php echo ['d_new'] ?> ">
<input TYPE="hidden" name="d_modif" value="<?php echo $row ['$date'] ?> ">
<!-- Dans le cas de modif fiche, initialiser le "submitted" à 1 -->
<input TYPE="hidden" name="submitted" value="1">

<TABLE align="center" bgcolor="aff680" BORDER=1 WIDTH=960>
<TR>
<TD WIDTH="56%"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;
<font color="red"><b>MODIFICATION</font>&nbsp;&nbsp;FICHE No : </font><font size="4" color="red"><?php echo $row ['$id'] ?></b></font>
&nbp;-&nbsp;<font color="red">
<?php echo mysqli_result($row,0,"type") ?></font> - &nbsp;
<?php echo mysqli_result($row,0,['nature']) ?></font> - &nbsp;
<?php echo mysqli_result($row,0,['objet_1']) ?></font>
</TD>
<TD WIDTH="22%"><font size="2" color="darkred">
Date de création&nbsp;:&nbsp;<b><?php echo mysqli_result($row,0,['d_new']) ?></b>
</TD>
<TD WIDTH="22%"><font size="2" color="darkred">&nbsp;&nbsp;
Date de modif.&nbsp;:&nbsp;<b><?php echo $row ['$date'] ?></b>
</font>
</TD>
</TR>
</TABLE>

********* 3 - Affichage (simplifié) du tableau pour modification des cellules*********

<table align="center" bgcolor="#e4e4e4" border=0 cellspacing=1 cellpadding=1 width=960>
<tr>
<!-- Type -->
<td width=6%><p align="center">
<input type="text" name="type" value="<?php echo mysqli_result($query,0,"type") ?>" size="12" maxlength="12">
</td>

<!-- Nature -->
<td width=5%><p align="center">
<input type="text" name="nature" value="<?php echo mysqli_result($query,0,"nature") ?>" size="10" maxlength="10">
</td>
</tr>
</table>

*****Enregistrement des données (non traité actuellement, mais fonctionne avec PHP 5.4)*****

J'espère que je suis clair dans mes présentations !
Bien cordialement
Polux78

Re: Mysqli - Afficher cellule à modifier

Posté : 26 oct. 2015, 21:22
par or 1
pour la page blanche voir
faq-tutoriels/page-blanche-script-php-c ... 73178.html
et nous donner les erreurs.

Re: Mysqli - Afficher cellule à modifier

Posté : 27 oct. 2015, 19:01
par polux78
Bonjour OR1,

J’ai suivi ton lien sur le tutoriel, mais je ne vais pas encombrer la page avec les résultats ou je ne vois rien.
J’ai donc réduit mon fichier à sa plus simple expression
1 – Connexion à la base
2 – Affichage d’une seule cellule à modifier => Je crois que je ne maîtrise pas cette ligne avec PHP 5.6
Rien ne s’affiche !
Qu’en penses tu ?

<form method="post" action="fiche_modif_ok.php">

<?PHP
// error_reporting(E_ALL); // Aucune erreur reportée
// phpinfo(); Je ne vois pas ou est le PHP error ?
include ("pass/paul.inc.php"); // valid

// on récupère le No "id"
if(isset($_POST['id'])) $id=$_POST['id'];
else $id="";
// echo $id; // L'id est bien récupéré...
// echo '<pre>', print_r($GLOBALS), '</pre>'; l'id est bien affiché... mais rien après...

// On se connecte et on choisi la base de données
$link = mysqli_connect ($host,$user,$pass,$db) or die ("Impossible de se connecter à MySQL");

// On va chercher les infos pour l'identifiant unique qui a été envoyé.
$select = "SELECT * FROM conserves WHERE id = '$id' ";

// Récupérer les résultats
$result = mysqli_query($link, $select);// or die('Erreur SQL !<br>'.$select.'<br>'.mysqli_error());

// Fixer les résultat
$res = mysqli_fetch_assoc($result);
?>

<input TYPE="hidden" name="submitted" value="1"> <!-- dans le cas de modif cellule -->

<table align="center" bgcolor="#e4e4e4" border=0 width=960>
<tr>
<td align="center">
<input type="text" name="type" value="<?php echo mysqli_result($res,0,"type") ?>" size="12" maxlength="12">
</td>
</tr>
</table>

Merci pour ton aide
Cordialement
Polux78

Re: Mysqli - Afficher cellule à modifier

Posté : 27 oct. 2015, 19:18
par or 1
rappel du code donné par ryle :
$sum0 = "SELECT SUM(p_brut_fin) AS somme FROM conserves WHERE nature = 'Fruits' "; // alias
$req = mysqli_query($link, $sum0) or die('Erreur SQL !<br>'.$sum0.'<br>'.mysqli_error());
$data = mysqli_fetch_assoc($req);
$somme = $data['somme'] / 1000; // utilisation de l'alias comme index
code qui montre comment récupérer le contenu d'une requete.

Re: Mysqli - Afficher cellule à modifier

Posté : 27 oct. 2015, 19:26
par polux78
Bien compris OR1, mais cela concernait le calcul d'une somme dans une colonne
Dans mon cas présent, je voudrai afficher et modifier le contenu d'une cellule existante

<input type="text" name="type" value="<?php echo mysqli_result($res,0,"type") ?>" size="12" maxlength="12">
C'est cette ligne dont je doute...
Elle fonctionne sous PHP 5.4 mais pas en PHP 5.6 avec mysqli
Je suis paumé !
Cord. Polux78

Re: Mysqli - Afficher cellule à modifier

Posté : 28 oct. 2015, 10:17
par polux78
Bonjour
J'ai repris le code pour accéder à une cellule de ma base
cela fonctionne en faisant "echo"
Cord.
Polux78