[RESOLU] probleme "No database selected"

Eléphant du PHP | 161 Messages

30 juin 2016, 14:03

lorsque j'essaye de vouloir effacer une categorie de ma base de donne, peu etre je pourrai avoir un coup de pousse de votre part.
voila tous les codes qui gere mes Categories et ainsi que tout en bas le codes SQL pour les categories

connection.php
<?php

	function dbConnect() {

		return new mysqli("localhost","root","","dwm_ecom_2");

	}

	$dbConnect = dbConnect();

?>

addCategorie.php
<?php

require_once("connection.php");

$nc = $_POST["nomCat"];
$d = $_POST["description"];

$req= $dbConnect->query("INSERT INTO categories (nom_cat,description) VALUES('$nc','$d')");

header("Location:GestionCategories.php");

?>

categorie.php
<?php

require_once("connection.php");

$dbConnect = dbConnect();
$req= $dbConnect->query("SELECT code_cat,nom_cat FROM categories");

?>

<table>

	<?php

	while($cat=$req->fetch_assoc()) { 

	?>

	<tr>

		<td>

			<a href="index.php?idCat=<?php echo($cat['code_cat'])?>"><?php echo($cat['nom_cat'])?></a>

		</td>
	</tr>

	<?php

	} 

	?>

</table>
GestionCategorie.php
<?php
session_start();

require_once("connection.php");

$req = $dbConnect->query("SELECT code_cat,nom_cat,description FROM categories");

?>
<!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>
               <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
               <title>Management-Kategorien</title>
               <link rel="stylesheet" type="text/css" href="style1.css" />
               <script language="javascript">
                    function confirmation(idCat){
                         var rep=confirm("Sind sie sicher diese Kategorie zu löschen ?");
                         if(rep==true){
                            document.location="supprimerCategorie.php?idCat="+idCat
                                       }
                    }
               </script>
           </head>
           <body>
<?php require_once("entete.php"); ?>
                <div id="formCategories" align="center">
                   <form method="post" action="addCategogie.php">
                      <table>
                           <tr>
                                <td>Kategorie:</td>
                                    <td><input type="text" name="nomCat" required="required"></td>
                                </tr>
                           <tr>
                                <td>Beschreibung:</td>
                                  <td><textarea name="description" rows="3" cols="50"></textarea></td>
                                </tr>
                           <tr>
                              <td><input type="submit" value="Hinzufügen" /></td>
                           </tr>
                      </table>
                   </form>
                </div>
                <div id="listeCategories" align="center">
                    <table border="1">
                            <tr>
                                 <th>CODE CAT</th><th>NAME CAT</th><th>Beschreibung</th>
                            </tr>
<?php while($cat = $req->fetch_assoc()){?>
                            <tr>
                                 <td><?php echo($cat['code_cat'])?></td>
                                 <td><?php echo($cat['nom_cat'])?></td>
                                 <td><?php echo($cat['description'])?></td>
                                 <td>
								     
                                     <a href="javascript:confirmation(<?php echo($cat['code_cat'])?>)">Löschen</a>                             
                                </td>
                            </tr>
<?php } ?>
                    </table>
               </div>
        </body>
</html>
categories.sql
CREATE TABLE `categories` (
  `CODE_CAT` int(11) NOT NULL,
  `NOM_CAT` varchar(250) COLLATE utf8_german2_ci NOT NULL,
  `DESCRIPTION` text COLLATE utf8_german2_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_german2_ci;

--
-- Daten für Tabelle `categories`
--

INSERT INTO `categories` (`CODE_CAT`, `NOM_CAT`, `DESCRIPTION`) VALUES
(1, 'ISOKE_1', ''),
(2, 'ISOKE_2', ''),
(3, 'ISOKE_3', ''),
(4, 'ISOKE_4', ''),
(5, 'ISOIN', '');

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 juin 2016, 15:16

salut,

as tu plus de précision avec ce message d'erreur ?
Nom du fichier et numéro de ligne devrais être dans le message.
tu peux utiliser select_db(), qui est inutile normalement vu que tu fournis le 4ème paramètre à la connexion.

il y a peux être une erreur à la connexion ?
tu peux le tester facilement avec ce bout de code de la doc
<?php
if ($mysqli->connect_error) {
    die('Erreur de connexion (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}
@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 161 Messages

30 juin 2016, 16:09

Salut moogli
le message "No database selected" est tout ce qui s'affiche lorsque je veux supprimer une categorie

Mammouth du PHP | 2703 Messages

30 juin 2016, 16:12

on n'a pas le code de supprimerCategorie.php

Eléphant du PHP | 161 Messages

30 juin 2016, 16:33

je m'excuse de l'avoir oublier
supprimerCategorie.php
<?php require_once("connection.php")?>
<?php
$idc=$_GET["idCat"];
$req="delete from CATEGORIES where CODE_CAT=$idc";
mysql_query($req) or die(mysql_error());
header("location:GestionCategories.php");

header("location:GestionCategories.php");
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 juin 2016, 17:23

Bonjour,

Et si dans supprimerCategorie.php tu remplaçais le mysql_query() par un $dbConnect->query() ?

tu peux aussi virer le second header(), une seule fois c'est suffisant ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 161 Messages

30 juin 2016, 18:16

Salut Ryle,

tu es le meilleur ca marche , merci beaucoup

Eléphant du PHP | 161 Messages

01 juil. 2016, 10:31

Salut a tous ,
le problem si dessus a ete resolu mais j'ai eu a ecrire des scripts cette fois pour les users samblable a categorie, et je voulais procede autant a la suppression des users mais malheureusement ca ne marche pas, comme dit les scripts sont semblable nean moins je vous presente a quoi ressemble le script supprimerUser.php
<?php require_once("connection.php")?>
<?php

$req="delete from * USERS where user_id=?";
$dbConnect->query($req) or die(mysql_error());
header("location:GestionUsers.php");
?>
CREATE TABLE `users` (
  `user_id` int(11) NOT NULL,
  `login` varchar(250) NOT NULL,
  `pass` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `users`
--

INSERT INTO `users` (`user_id`, `login`, `pass`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3'),
(2, 'user', 'ee11cbb19052e40b07aac0ca060c23ee'),
(3, 'paul', '6c63212ab48e8401eaf6b59b95d816a9'),
(4, 'raul', 'bc7a844476607e1a59d8eb1b1f311830');

Mammouth du PHP | 1967 Messages

01 juil. 2016, 11:48

en corrigeant ta requete, ca devrait fonctionner

enlever le * et préciser le user_id depuis ta variable et non pas un ?
regarde bien le script de catégorie qui fonctionne pour comparer
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 161 Messages

01 juil. 2016, 12:02

j'ai deja vu, j'ai eu a faire faire des testes et oublie de corrige, voila a quoi ma requete ressemble
"SELECT user_id, login FROM users"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 juil. 2016, 12:27

delete from * USERS where user_id=?
La requête n'est pas syntaxiquement correcte tel quel.
=> delete from table
Le ? indique que tu veux utiliser une requête préparée il faut donc que utiliser les méthodes prepare et bind_param avant la méthode execute.

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 161 Messages

01 juil. 2016, 12:54

moogli tu as raison ce sont des changement que j'ai effectue et oublie de les remettre en place, je testais juste voir ,
oubli s'il te plait l'etoile
$req="delete from users where user_id= ";

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 juil. 2016, 15:09

Tu as un cas qui fonctionne juste au-dessus, pourquoi ne t'en inspires-tu pas ? :)
$idc=$_GET["idCat"];
$req="delete from CATEGORIES where CODE_CAT=$idc";
$idUser=$_GET["idUser"]; // à adapter en fonction de comment tu sais quel id user il faut supprimer
$req="delete from USERS where USER_ID=$idUser";
...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 161 Messages

02 juil. 2016, 12:21

Salut Ryle,
je vois bien cela et je l'ai vu depuis longtemps mais je t'assure ca ne marche pas car ca me signale une erreur de ma variable $idUser , C'est a ce niveau que je ne sais pas si j'ai bien declare ma variable $idUser.

Mammouth du PHP | 1967 Messages

04 juil. 2016, 07:59

fait un var_dump($_GET); pour voir si une variable correspond à ce que tu cherche
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube