Mise à jour base mysql
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 -
t671 -
Bonjour,
Suite à un upload de fichier, je veux mettre un champ d'une base mysql à jour (adresse du fichier uploadé). Ce champ comporte déjà un enregistrement (adresse d'une image ou doc existante). Ce ne serait juste qu'une complémentation.
L'upload se passe bien, mais apparemment, la requête ne s'éxécute pas. Voilà ce que j'ai écrit :
$requete_update = "UPDATE manifestations SET lien_fichier='$lien_fichier' , fichier='$fichier' , extension='$extension' WHERE id='$id'";
J'ai l'impression que ce n'est pas la bonne requête !!!! ???
Quelle est celle que je dois utiliser pour complémenter un champ texte d'une base de donnée ?
Merci
Suite à un upload de fichier, je veux mettre un champ d'une base mysql à jour (adresse du fichier uploadé). Ce champ comporte déjà un enregistrement (adresse d'une image ou doc existante). Ce ne serait juste qu'une complémentation.
L'upload se passe bien, mais apparemment, la requête ne s'éxécute pas. Voilà ce que j'ai écrit :
$requete_update = "UPDATE manifestations SET lien_fichier='$lien_fichier' , fichier='$fichier' , extension='$extension' WHERE id='$id'";
J'ai l'impression que ce n'est pas la bonne requête !!!! ???
Quelle est celle que je dois utiliser pour complémenter un champ texte d'une base de donnée ?
Merci
A voir également:
- Mise à jour base mysql
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise a jour kindle - Guide
- Mise à jour libre office - Accueil - Bureautique
23 réponses
Merci P@t@ch0n ... ;o))
Maintenant, si je veux associé plusieurs éléments de la table upload à un unique enregistrement de la table manifestation (donc ces éléments de upload ont le même id_liaison qui font référence au même enregistrement de manifestation), à l'affichage, j'ai l'élément de manifestation qui s'affiche autant de fois qu'il a d'élément de upload associé.
Comment faire pour qu'à l'affichage, l'élément de manifestation s'affiche une seule fois avec tous les éléments de upload associés ?
J'espère avoir été assez clair ..... :o))
Merci ....
Maintenant, si je veux associé plusieurs éléments de la table upload à un unique enregistrement de la table manifestation (donc ces éléments de upload ont le même id_liaison qui font référence au même enregistrement de manifestation), à l'affichage, j'ai l'élément de manifestation qui s'affiche autant de fois qu'il a d'élément de upload associé.
Comment faire pour qu'à l'affichage, l'élément de manifestation s'affiche une seule fois avec tous les éléments de upload associés ?
J'espère avoir été assez clair ..... :o))
Merci ....
Je te l'ai expliqué plus haut comment il faut faire.
Le LEFT JOIN permettra de retourner tous les enregistrements de ta table manifestation, mais s'il n'y a pas de lignes affiliées à elles dans la table upload, les colonnes sélectionnées de la table upload auront pour valeur NULL.
Ensuite pour la non-répétitions de chaque colonnes sélectionnées de la table manifestation qu'il y a de lignes dans la table upload, il suffit de stocker l'id précédent dans une variable, de comparer avec l'id actuel du tour de boucle et si différent, on affiche les colonnes de manifestation, et on change la valeur de cette variable par l'id courant.
Donc niveau code, cela donne.
Le LEFT JOIN permettra de retourner tous les enregistrements de ta table manifestation, mais s'il n'y a pas de lignes affiliées à elles dans la table upload, les colonnes sélectionnées de la table upload auront pour valeur NULL.
Ensuite pour la non-répétitions de chaque colonnes sélectionnées de la table manifestation qu'il y a de lignes dans la table upload, il suffit de stocker l'id précédent dans une variable, de comparer avec l'id actuel du tour de boucle et si différent, on affiche les colonnes de manifestation, et on change la valeur de cette variable par l'id courant.
Donc niveau code, cela donne.
// Ordonnancement par les ids en premiers et date en second ESSENTIEL POUR GÉNÉRER L'AFFICHAGE ORDONNÉ $requete = 'SELECT id, texte, id_liaison, extension, lien_fichier FROM manifestations LEFT JOIN upload ON id = id_liaison ORDER BY id, date'; $result = mysql_query($requete,$link) or exit ('Erreur : '.mysql_error() ); $idEnCours = 0; // On déclare cette variable de stockage avec une valeur ne pouvant être un id de la table, 0 donc. while($row = mysql_fetch_array($result)) { // Si la valeur de l'id de la table manifestation est différent de la valeur de $idEnCours // (ce qui sera forcément le cas lors du 1er tour de boucle) // On affiche les colonnes de la table manifestation, et on modifie la valeur de $idEnCours par la valeur de l'id de manifestation if( $idEnCours != $row['id'] ) { $idEnCours = $row['id_liaison']; echo nl2br($row['texte']); } // Pour savoir s'il y a des lignes correspondantes dans la table upload et le cas échéant les afficher, l'id_relation // (ou n'importe quelle autre colonne de la table upload) ne doit pas valoir NULL if( $row['id_liaison'] !== null ) { if (in_array($row['extension'], array( '.jpg', '.JPG', '.png', '.PNG', '.jpeg', '.JPEG', '.gif', '.GIF'))) { echo '<a href ='http://xxxxxxxxxxx ' . $row['lien_fichier'] . ''><img src='http://xxxxxxxxxxxxxxxx ' . $row['lien_fichier'] . ''></a>'; } elseif (in_array($row['extension'], array( '.doc', '.DOC', '.pdf', '.PDF', '.txt', '.TXT'))) { echo '<center><a href ='http://xxxxxxxxxxxx ' . $row['lien_fichier'] . ''>Télécharger<br><img src='../../../commande.gif'></a>'; } } else { echo '<em>aucun fichier affilié à cette manifestation</em>'; } }
Bonjour P@t@ch0n,
J'arrive au bout du problème ..... :o))
Il me reste un problème d'affichage. Suite à l'affichage du texte, le premier élément de upload affilié au texte s'affiche en dessous, le tableau se ferme, et les autres éléments de upload affiliés au texte s'affichent également mais en dehors du tableau.
Je n'arrive pas à rentrer "les autres éléments" dans le tableau, et à les afficher l'un à côté de l'autre.
Voici mon code :
$requete="SELECT manifestations.id, manifestations.jour , manifestations.heure ,manifestations.datefr ,manifestations.titre ,manifestations.texte , upload.id_liaison, upload.lien_fichier, upload.fichier, upload.extension
FROM manifestations LEFT JOIN upload ON manifestations.id=upload.id_liaison
ORDER BY manifestations.date ASC";
$result = mysql_query($requete,$link) or exit ('Erreur : '.mysql_error() );
$idEncours = 0;
while($row = mysql_fetch_array($result))
{
if( $idEnCours != $row['id'] )
{
echo '<table width="800px" border="1">';
echo '<tr>';
echo '<td align="center">'.nl2br($row['texte']).'<p>';
}
if ($idEnCours = $row['id_liaison']);
if (in_array($row['extension'], array( ".jpg", ".JPG", ".png", ".PNG", ".jpeg", ".JPEG", ".gif", ".GIF")))
{
echo '<center><a href ="http://xxxxxxx ' . $row['lien_fichier'] . '"><img src="http://xxxxxxx ' . $row['lien_fichier'] . '"></a></center>';
}
elseif (in_array($row['extension'], array( ".doc", ".DOC", ".pdf", ".PDF")))
{
echo '<center><a href ="http://xxxxx ' . $row['lien_fichier'] . '">Télécharger ou afficher le document<br><img src="../../../images/commande.gif"></a></center>';
}
echo '</td></tr></table><p>';
}
Merci
J'arrive au bout du problème ..... :o))
Il me reste un problème d'affichage. Suite à l'affichage du texte, le premier élément de upload affilié au texte s'affiche en dessous, le tableau se ferme, et les autres éléments de upload affiliés au texte s'affichent également mais en dehors du tableau.
Je n'arrive pas à rentrer "les autres éléments" dans le tableau, et à les afficher l'un à côté de l'autre.
Voici mon code :
$requete="SELECT manifestations.id, manifestations.jour , manifestations.heure ,manifestations.datefr ,manifestations.titre ,manifestations.texte , upload.id_liaison, upload.lien_fichier, upload.fichier, upload.extension
FROM manifestations LEFT JOIN upload ON manifestations.id=upload.id_liaison
ORDER BY manifestations.date ASC";
$result = mysql_query($requete,$link) or exit ('Erreur : '.mysql_error() );
$idEncours = 0;
while($row = mysql_fetch_array($result))
{
if( $idEnCours != $row['id'] )
{
echo '<table width="800px" border="1">';
echo '<tr>';
echo '<td align="center">'.nl2br($row['texte']).'<p>';
}
if ($idEnCours = $row['id_liaison']);
if (in_array($row['extension'], array( ".jpg", ".JPG", ".png", ".PNG", ".jpeg", ".JPEG", ".gif", ".GIF")))
{
echo '<center><a href ="http://xxxxxxx ' . $row['lien_fichier'] . '"><img src="http://xxxxxxx ' . $row['lien_fichier'] . '"></a></center>';
}
elseif (in_array($row['extension'], array( ".doc", ".DOC", ".pdf", ".PDF")))
{
echo '<center><a href ="http://xxxxx ' . $row['lien_fichier'] . '">Télécharger ou afficher le document<br><img src="../../../images/commande.gif"></a></center>';
}
echo '</td></tr></table><p>';
}
Merci