PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#2 Re : Forum Général PHP » [Résolu]Retour à la ligne » 07-04-2014 08:20:02

C'est pas mon script, suis incapable de faire un truc comme ça, je l'ai juste récupérer. Mais il doit être branlant en effet, car ta solution ne marche pas. sad

#3 Re : Forum Général PHP » Création de lien automatique » 29-07-2014 11:33:43

Merci de ta réponse, je vais essayer de me pencher sur le problème.

#4 Forum Général PHP » [Résolu]Retour à la ligne » 07-04-2014 08:20:02

Daniboom
Réponses : 4

Retour à la ligne

Messagepar Daniboom Aujourd’hui, 13:32
Bonjour,

J'ai récupérer un script de BDD qui fonctionne parfaitement. J'aimerais juste pouvoir faire en sorte que le script gère les retours à la ligne qui sont insérés lors de la saisie dans le formulaire. J'ai compris qu'il était possible de le faire avec n12br(), mais impossible de le placer correctement dans le script.

Le script est actuellement en test à l'adresse suivante : ***
Et voici le script proprement dit

<?php
/* "Passez moins de temps sur le derrière !"
Ce programme est librement modifiable et adaptable.
Cependant n'hésitez pas à m'envoyer vos modifications car de nombreuses améliorations sont possibles !
D'autres scripts sur http://www.webcreation-fr.com
Auteur : Cyril ROHR
Version : 0.1
Vous devez modifier les paramètres ci-dessous pour pouvoir utiliser le script :
*/
// INFOS DE CONNEXION à la BDD
$serveur='localhost'; // serveur
$user='****; // nom d'utilisateur
$password='***'; // mot de passe
$base='****'; // nom de la base contenant les tables
/*
Noms des tables et leurs champs :
Note : il est obligatoire que vos tables disposent d'un champ "id" bénéficiant de l'option d'auto-incrémentation ou étant une clé primaire
S'il existe un champ "mdp" (mot de passe), son contenu sera obligatoirement caché lors du listage des entrées de la table.

Dans l'exemple ci-dessous, la première entrée, qui est en fait un sous-tableau, est le nom de la table à administrer.
dans le sous-tableau, vous devez mettre le nom exact des champs que vous souhaitez administrer (peu importe l'ordre)
*/
$champs=array(
        "Fiches"=>array("id","titre","photo","photo1","photo2","pseudo","age","region","ans","lien","miseeau","dimensions","litrage","orientation","maintenance","materiel","ajouts","eclairage","diversmateriel","poissons","diverspoissons","invertebres","diversinvertebres","coraux","diverscoraux","textelibre"),
       
);
/*
Pour finir, vous devez modifier les liens apparaissant dans le cadre "menu" plus bas dans cette page. Prenez exemple sur les liens existants pour
en créer d'autres. La syntaxe est la suivante :
<a href="<?=$_SERVER["PHP_SELF"]?>?table=NOM_DE_LA_TABLE&q=ACTION_A_EFFECTUER">NOM_DU_LIEN</a>
Avec ACTION_A_EFFECTUER valant "Ajouter" si vous voulez ajouter une entrée dans la table ou valant "" si vous voulez simplement lister.
*/


// Connexion à la base
$connexion = mysql_connect("$serveur","$user","$password") or die ("Impossible de se connecter à la base de données");
// sélection de la base
mysql_select_db("$base",$connexion);
// FONCTIONS DIVERSES
function Ajouter($table, $query) {
$insert=mysql_query("insert into $table set $query");
if ($insert==TRUE) {
echo "Les données ont été correctement ajoutées<br />";
}
else {
echo "Erreur lors de l'ajout des données<br />";
}
}
function Modifier($table, $query, $where) {
$update=mysql_query("update $table set $query where $where");
if ($update==TRUE) {
echo "Les données ont été correctement modifiées<br />";
}
else {
echo "Erreur lors de la modification des données<br />";
}
}
function Supprimer($table, $where) {
$delete=mysql_query("delete from $table where $where");
if ($delete==TRUE) {
echo "Les données ont été correctement effacées<br />";
}
else {
echo "Erreur lors de la suppression des données<br />";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Administration des bdd</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="imagetoolbar" content="no" />
<meta content="TRUE" name="MSSmartTagsPreventParsing" />

<style type="text/css" media="screen">
@import url( css.css );
.Style1 {font-size: 11px}
.Style2 {color: #FF0000}
.Style3 {color: #369}
.Style5 {
        color: #FF0000;
        font-size: 16px;
        font-weight: bold;
}
</style>
<script language="Javascript">
function confirmation(url)
{
if(confirm('Voulez-vous vraiment supprimer ?'))
document.location.href=url
}
</script>
</head>

<body>
<!-- CADRE PRINCIPAL //-->
<div id="cadreprincipal">
        <!-- MENU //-->
        <div id="menu">
                <div class="titremenu">
                        Fiches des bacs         </div>
                <div class="liensmenu">
                        <ul>
                                <li><a href="<?=$_SERVER["PHP_SELF"]?>?table=Fiches">Gérer les entrées</a></li>
                                <li><a href="<?=$_SERVER["PHP_SELF"]?>?table=Fiches&q=Ajouter">Ajouter une entrée</a></li>
                        </ul>
                </div>
               
                <span class="liensmenu Style1"><span class="Style2">Attention ! </span><span class="Style3">Ne pas utiliser le symbole</span> <span class="Style5">&quot;</span></span><br />
                <div style="font-size:10px"></div>            
        </div>
  <div id="main">
        <?php
        /////////////////// PROGRAMME PRINCIPAL
        if (isset($_GET["q"])) { $q=$_GET["q"]; } elseif(isset($_POST["q"])) { $q=$_POST["q"]; } else { $q=""; }
        if (isset($_GET["sq"])) { $sq=$_GET["sq"]; } elseif(isset($_POST["sq"])) { $sq=$_POST["sq"]; } else { $sq=""; }
        if (!isset($_GET["table"])) {
                echo "<div class=\"erreur\">Erreur ! La page n'a pas été appelée avec les bons paramètres.</div>";
        } else {
                $table=$_GET["table"];
                $prefixe=""; // Utile si vous désirez préfixer automatiquement les tables
                $table_utilisee="$prefixe".$table."";
                               
                switch($q) {
                        /// Formulaire d'ajout
                        case "Ajouter";
                                $nb_champs=sizeof($champs["$table"]);
                                echo "<div class=\"titrecorps\">Ajout d'une entrée dans la table \"$table\"</div>";
                                if ($sq=="Valider") {
                                        $valeurs="";
                                        $i=0;  
                                        while($i<$nb_champs) {
                                                $nom_champ=$champs["$table"]["$i"];    
                                                if ($i!=0) {
                                                        $valeurs.=" ,";
                                                }
                                                $valeurs.="$nom_champ=\"$_POST[$nom_champ]\"";                        
                                        $i++;
                                        }
                                        Ajouter("$table_utilisee",$valeurs);
                                        ?>                            
                                        <script language="Javascript">
                                        window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=1"; ?>";
                                        </script>
                                        <?php
                                } else {
                                        echo "
                                        <form action=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Ajouter&sq=Valider\" method=\"post\">
                                        <table border=\"0\">";
                                        $i=0;  
                                        while($i<$nb_champs) {
                                                $nom_champ=$champs["$table"]["$i"];
                                                $nom_champ_maj=strtoupper($nom_champ);
                                                echo "
                                                <tr>
                                                        <td><b>$nom_champ_maj</b></td><td><textarea name=\"$nom_champ\" cols=\"40\" rows=\"3\"></textarea></td>
                                                </tr>";
                                                $i++;
                                        }
                                        echo "
                                        <tr valign=\"top\">
                                                <td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Valider\"></td>
                                        </tr>
                                        </table>
                                        </form>";
                                }
                        break;
                       
                        case "Modifier";
                                $nb_champs=sizeof($champs["$table"]);
                                echo "<div class=\"titrecorps\">Modification d'une entrée de la table \"$table\"</div>";
                                $id=$_GET["id"];                      
                                if ($sq=="Valider") {
                                        $valeurs="";
                                        $i=0;  
                                        while($i<$nb_champs) {
                                                $nom_champ=$champs["$table"]["$i"];    
                                                if ($i!=0) {
                                                        $valeurs.=" ,";
                                                }
                                                $valeurs.="$nom_champ=\"$_POST[$nom_champ]\"";                        
                                        $i++;
                                        }
                                        Modifier("$table_utilisee",$valeurs,"id=\"$id\"");
                                        ?>                            
                                        <script language="Javascript">
                                        window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=2"; ?>";
                                        </script>
                                        <?php
                                } else {
                               
                                $select=mysql_query("select * from $table_utilisee where id=\"$id\"");
                                $res=mysql_fetch_array($select);
                                echo "
                                <form action=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Modifier&sq=Valider&id=$id\" method=\"post\">
                                <table border=\"0\">";
                                $i=0;  
                                while($i<$nb_champs) {
                                        $nom_champ=$champs["$table"]["$i"];
                                        $nom_champ_maj=strtoupper($nom_champ);
                                       
                                        echo "
                                        <tr>
                                                <td>$nom_champ_maj</td><td><textarea name=\"$nom_champ\" cols=\"40\" rows=\"3\">".$res["$nom_champ"]." </textarea></td>
                                        </tr>";
                                        $i++;
                                }
                                echo "
                                <tr valign=\"top\">
                                        <td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Valider\"></td>
                                </tr>
                                </table>
                                </form>";
                               
                                }
                        break;
                       
                        case "Supprimer";
                        echo "<div class=\"titrecorps\">Suppression d'une entrée de la table \"$table\"</div>";
                        Supprimer("$table_utilisee","id=\"$_GET[id]\"");
                        ?>                            
                        <script language="Javascript">
                        window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=3"; ?>";
                        </script>
                        <?php
                        break;
               
                       
                        default:
                        echo "<div class=\"titrecorps\">Enregistrements de la table \"$table\" :</div>";
                        $ordre=$champs["$table"]["0"];
                        $select=mysql_query("select * from $table_utilisee order by $ordre ASC");
                        $nb_enregistrements=mysql_num_rows($select);
                        $tab_msg=array(
                                                        "1"=>"Les données ont été correctement ajoutées !",
                                                        "2"=>"Les données ont été correctement modifiées !",
                                                        "3"=>"Suppression de l'enregistrement effectué !");
                        ?>
                        &raquo; <?=$nb_enregistrements?> enregistrement(s) dans cette liste.  
                        <?php
                        if (isset($_GET["msg"])) {
                                echo "<div class=\"erreur\">".$tab_msg[$_GET["msg"]]."</div>";
                        }
                        ?>
                        <table border="1">
                                <tr align="center"><td><b>ACTIONS</b></td>
                                <?php  
                                $nb_champs=sizeof($champs["$table"]);
                                while(list($k,$nom_champ)=each($champs["$table"])) {
                                        $nom_champ_maj=strtoupper($nom_champ);
                                        echo "<td><b>$nom_champ_maj</b></td>";
                                }
                                ?>
                                </tr>
                        <?php
                        while ($res=mysql_fetch_array($select)) {
                                echo "<tr><td>[<a href=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Modifier&id=".$res["id"]."\">M</a>] - [<a href=\"javascript&#058;confirmation('".$_SERVER["PHP_SELF"]."?table=$table&q=Supprimer&id=".$res["id"]."');\">S</a>]</td>";
                                $i=0;  
                                while($i<$nb_champs) {
                                        $nom_champ=$champs["$table"]["$i"];
                                        if ($nom_champ=="mdp") {
                                                echo "<td>********</td>";
                                        } else {
                                                echo "<td>".$res["$nom_champ"]."</td>";
                                               
                                        }
                                        $i++;
                                }
                                echo "</tr>";
                        }              
                ?>
                        </table>
                        <?php
                        break;
                }
        }
        mysql_close();
        ?>
        </div>
</div>
</body>
</html>

#5 Forum Général PHP » Création de lien automatique » 29-07-2014 11:33:43

Daniboom
Réponses : 3

Bonjour,

Je ne connaît que peu le PHP, malgré que je bidouille des scripts existants depuis de nombreuses années. Pour un nouveau projet de site internet, j'ai dois créer mon propre script et bien qu'il avance dans de bonnes conditions, je ne trouve pas la solution à un bête problème :

Pour mon projet, il y a 3 pages :

- La page formulaire.php, qui permet de renseigner et de gérer la table mysql,
- La page fiche.php qui récupère les champ de l'ID n°X, via GET pour générer une url par ID.
- La page index qui doit afficher le lien de chaque nouvelle ID automatiquement.

C'est sur cette troisième page que je flanche, car j'ai réussi à bien faire en sorte que chaque fiche corresponde à chaque ID de la table, mais j'arrive pas à trouver le codage qui dit que si l'ID est présent, afficher le lien vers la fiche correspondante. Bien entendu, si il n'y a pas d'ID n°X dans la BDD, il n'y aura pas de lien.

J'espère que mon problèmes est clair et que vous pourrez m'aider. Je vous remercie d'avance.

Pied de page des forums

Propulsé par FluxBB