Bonjour,
Je pense que votre modèle de données est à revoir.
Dans ce que vous cherchez à faire, par exemple, votre table RESERVDATE ne devrait comporter que deux colonnes reserv_date DATE , max_resa TINYINT avec la clé primaire sur le tuple {reserv_date, max_resa} (rappel : la PK est de type clustered index par défaut sur SQL Server)
Ensuite, afin d'éviter l'utilisation de triggers dans votre base, il faut décomposer la démarche d'inscription en deux étapes https://equipement-solaire.fr/kit-solai … omplet/kit solaire autonome complet, et passer par une procédure stockée pour contrôler et valider la validité de chaque inscription.
Pourquoi en deux étapes ?
Tout simplement pour afficher pour le joueur connecté, ses possibilités d'inscriptions. En fonction du choix fait au sein de cette liste par le joueur, on valide l'inscription (avec recontrôle idéalement au niveau de la procédure stockée).Voilà pour la démarche.
Sinon, évitez les SELECT *, et les champs sont dans la nature, dans les Bases de données ce sont des colonnes.Bon dimanche.
En lisant votre post je le trouve très explicite, Mais, Moi je suis totalement bloqué sur les validité des inscriptions, et je n'ai même pas des messages d'erreur, avez vous une solution ?
]]>Warning: Illegal string offset 'ville_id' in C:\wamp64\www\villes-site\process\process-edition.php
Warning: Illegal string offset 'ville_nom' in C:\wamp64\www\villes-site\process\process-edition.php
Warning: Illegal string offset 'ville_texte' in C:\wamp64\www\villes-site\process\process-edition.php
Merci d'avance pour votre aide & bonne journée.
edition.php
<?php
require('includes/inc-connexion.php');
require('class/villeManager.php');
require('process/process-edition.php');
$manager = new villeManager($db);
$city = $manager->getVille();
$ville_nom = $city['ville_nom'];
$ville_texte = $city['ville_texte'];
$ville_id = $city['ville_id'];
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Mettre à jour la ville</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="wrapper">
<main>
<header>
<h1>Mettre à jour la ville</h1>
</header>
<div id="bloc_form">
<form action="" method="post" id="update_form">
<fieldset>
<legend>Mettre à jour la ville</legend>
<p><label for="city_name">Nom de ville</label></p>
<p><input type="text" id="city_name" name="city_name_form" autofocus="autofocus" value="<?php echo $ville_nom; ?>"></p>
<p><label for="city_text">Texte de ville</label></p>
<p><textarea cols="64" rows="32" id="city_text" name="city_text_form"><?php echo $ville_texte; ?></textarea></p>
<p><input type="hidden" name="city_id_form" value="<?php echo $ville_id; ?>"></p>
<p>
<input type="reset" id="reset_form" value="Effacer le formulaire">
<input type="submit" id="submit_form" name="submit_form" value="Valider">
</p>
</fieldset>
</form>
<?php if(isset($message)) echo $message ?>
</div>
</main>
<?php require('includes/inc-footer.php'); ?>
?>
class/Ville.php
<?php
class Ville {
private $_ville_id;
private $_ville_nom;
private $_ville_texte;
private static $_error;
const MSG_ERROR_VILLE_ID = 'VILLE_ID doît être un entier';
const MSG_ERROR_VILLE_NOM = 'VILLE_NOM doît être une chaîne de caractères';
const MSG_ERROR_VILLE_TEXTE = 'VILLE_TEXTE doît être une chaîne de caractères';
const MSG_ERROR_END = 'L\'objet ne peut pas être crée';
public function __construct(array $data) {
$this->setVilleId($data['ville_id']);
$this->setVilleNom($data['ville_nom']);
$this->setVilleTexte($data['ville_texte']);
if(!empty(self::$_error)) {
throw new Exception(self::$_error . self::MSG_ERROR_END);
}
}
public function setError($msg) {
self::$_error = $msg;
}
public function getError() {
return self::$_error;
}
public function setVilleId($_ville_id) {
if((is_int($_ville_id)) AND ($_ville_id > 0)) {
$this->_ville_id = $_ville_id;
}
else {
$this->setError(self::MSG_ERROR_VILLE_ID);
}
}
public function setVilleNom($_ville_nom) {
if(is_string($_ville_nom)) {
$this->_ville_nom = $_ville_nom;
}
else {
$this->setError(self::MSG_ERROR_VILLE_NOM);
}
}
public function setVilleTexte($_ville_texte) {
if(is_string($_ville_texte)) {
$this->_ville_texte = $_ville_texte;
}
else {
$this->setError(self::MSG_ERROR_VILLE_TEXTE);
}
}
public function getVilleId() {
return $this->_ville_id;
}
public function getVilleNom() {
return $this->_ville_nom;
}
public function getVilleTexte() {
return $this->_ville_texte;
}
}
?>
class/villeManager.php
<?php
class villeManager {
private $_db;
public function __construct($db) {
$this->setDb($db);
}
public function setDb(PDO $dbh) {
$this->_db = $dbh;
}
public function getVille($ville_id = '') {
$ville_id = $_GET['ville_id'];
if(empty($ville_id)) {
$sql = 'SELECT ville_id, ville_nom, ville_texte FROM villes';
$stmt = $this->_db->prepare($sql);
}
elseif(is_numeric($ville_id)) {
$sql = 'SELECT ville_id, ville_nom, ville_texte FROM villes WHERE ville_id = :ville_id';
$stmt = $this->_db->prepare($sql);
$stmt->bindParam(':ville_id', $ville_id);
}
$stmt->execute();
$city = $stmt->fetch();
return $city;
}
public function updateVille(Ville $ville) {
$sql = 'UPDATE villes SET ville_nom = :ville_nom, ville_texte = :ville_texte WHERE ville_id = :ville_id';
$ville_id = $ville->getVilleId();
$ville_nom = htmlspecialchars($ville->getVilleNom());
$ville_texte = htmlspecialchars($ville->getVilleTexte());
$stmt = $this->_db->prepare($sql);
$stmt->bindParam(':ville_id', $ville_id);
$stmt->bindParam(':ville_nom', $ville_nom);
$stmt->bindParam(':ville_texte', $ville_texte);
$stmt->execute();
}
}
?>
process/process-edition.php
<?php
require('includes/inc-connexion.php');
require('class/Ville.php');
if(isset($_POST['submit_form'])) {
$ville_nom = trim($_POST['city_name_form']);
$ville_texte = trim($_POST['city_text_form']);
$ville_id = trim($_POST['city_id_form']);
if((empty($ville_nom)) OR empty($ville_texte)) {
$message = '<p class="error">Tous les champs doivent être remplis !</p>';
}
else {
$manager = new villeManager($db);
$current_ville = $manager->getVille();
$new_content = array('ville_id' => (int) $current_ville[0]['ville_id'], 'ville_nom' => $current_ville[0]['ville_nom'],
'ville_texte' => $current_ville[0]['ville_texte']);
$ville_to_update = new Ville($new_content);
$ville_to_update->setVilleNom($ville_nom);
$ville_to_update->setVilleTexte($ville_texte);
$ville_to_update->setVilleId($ville_id);
if($manager->updateVille($ville_to_update)) {
$message = '<p class="message">La mise à jour de la ville ' . $ville_nom . ' est effectuée.</p>';
}
else {
$message = '<p class="error">La mise à jour de la ville ' . $ville_nom . ' n\'est pas effectuée.</p>';
}
}
}
?>
Les codes ci-dessous permettre d'insérer dans la DB une adresse email pour l'inscription à la newsletter après avoir rempli un formulaire qui apparait en pop-up.
Voici les codes du formulaire :
En php5.6, le système fonctionnait.
J'ai changé ma connexion en mysqli et fait les requêtes avec les termes qui me semblent adaptés.
Cependant rien n'y fait.
Pouvez-vous jeter un petit coup d’œil et me dire là ou je me trompe.
Merci d'avance.
]]>Je me permet de poster ce message pour vous demander de l'aide à propos d'un problème qui me turlupine depuis un certain temps...
J'ai sur mon site une page "paramètres" sur laquelle je propose aux utilisateurs de choisir un flux de mises à jour.
Le code est disponible ici : https://bootsnipp.com/snippets/dZGP.
Ce qui m'ennuie, c'est que j'essaie de cocher l'une des trois options en fonction d'une valeur enregistrée dans ma base de données MySQL, mais je ne comprend vraiment pas comment je peux faire... Je suis vraiment un débutant et j'ai beaucoup de mal avec les requêtes MySQL...
Pourriez-vous m'aider ?
Merci !
Jojorealisateur
]]>@plus
Pierre
]]>le message d'erreur ne s'affiche pas
La je ne te suis pas du tout, tu n'as pas répondu a mes précédentes questions. La requête fonctionne t-elle ?
]]>https://eilgin.github.io/php-the-right- … _extension
http://wiki.hashphp.org/Validation
mais je voudrais passer mon vieux script en php7 et celui ci a tout boulversé
]]>La solution est très simple :
SELECT * FROM articles_fr AS a, articles AS b WHERE paris taxi Airport a.id = b.id AND titre LIKE "%bonjour%" AND description LIKE "%bonjour%" ORDER BY la_date DESC
Merci beaucoup, je me suis cassé la tête avec ça
]]>comme au moment de la première de ses lignes, $cond_sites a déjà sa valeur, on aurait pu écrire :
$sql_nb_sites = "SELECT count(s.id) AS count FROM $from WHERE $where AND ($cond_sites)";
Un api rest renvoie en générale du json que tu pourrais traiter en VB.
Clique ici pour voir comment ça fonctionne avec vb.net
mes applications en php ne fonctionnent que de cette façon
Bon courage.
a++
]]>plutôt que de chercher à le faire toi même, prends des outils tout fait
@++
Pierre
]]>