45 vues
Requete base de données
SwoOn

8 sujets, 41 réponses

Message non lu
Bonsoir,

j'ai bricolé un petit widget grâce à la docu fourni par le site.
J'ai bien envie de le faire partager mais je sens que mon code est bien pourri, en particulier, j'ai besoin de créer une base de donnée et bien sur de me connecter !
Pour la simplicité (?) et surtout le fait que pour bcp on ne peut que créer une seule bdd, je l'ai inclue dans la bdd neofrag.

J'ai vu que l'on pouvait appelé la bdd courante (neofrag) grâce au class dans index.php mais je ne comprends "rien" au code !
Quelqu'un aurait un petit tuto pour expliquer ce code, ou me traduire ceci ?

$base = mysqli_connect ('localhost', 'root', '', 'neofrag') ;
$req_max = mysqli_query($base, 'SELECT MAX(Id) AS nbMax FROM lsv');
$tab_max = mysqli_fetch_array($req_max);
$Id_max = $tab_max['nbMax']+1;
$req_add = 'INSERT INTO lsv VALUES("'.$Id_max.'","'.$lsv.'")';
mysqli_query($base, $req_add) ;


et

if($Id_max > $Max){mysqli_query($base, 'DELETE FROM scores WHERE Id="'.$Id_max.'"') ;}
$req_all = mysqli_query($base, 'SELECT * FROM scores ORDER BY Id')

Je sens qu'il faut utiliser :

'topics' => $topics = $this->db->select('COUNT(topic_id)')->from('nf_forum_topics')->row(),

ou quelquechose comme ça mais je ne vois pas trop comment !
merci bcp !
Promis dès que mon code est pas trop pourri, je le partage :)
3 participants
4 réponses
Zaekof

38 sujets, 883 réponses

Contributeurs Donateurs
Message non lu
$base = mysqli_connect ('localhost', 'root', '', 'neofrag') ;
Veut dire que la fonction $base se connect avec mysqli a ta base de donnée qui est hébérgé en localhost avec un nom d'utilisateur root avec le mdp que tu veut et pour finir le nom de ta table dans ta bdd.

$req_max = mysqli_query($base, 'SELECT MAX(Id) AS nbMax FROM lsv');
Veut simplement dire que ta fonction $req_max stipule que tu récupère avec le mysqli_query le max id de ta table lsy en passant par ta fonction qui et déjà défini en haut $base.

$tab_max = mysqli_fetch_array($req_max);
Ici ta fonction $tab_max dit quelle veut un tableau de la fonction $req_max - "mysql_fetch_array" : Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux.

Plus d'infos : https://openclassrooms.com/courses/concevez-votre…
Pour te connecter a ta bdd ta un autre moyen beaucoup plus efficace & simple, que @majjid peut t’expliquai si il passe par ici car moi j'ai pas de bonne connaissance la dedans :).
"N'arrêtez jamais d'apprendre" !
majiid

31 sujets, 281 réponses

Contributeurs Donateurs
Message non lu
Salut !
Rien du tous de tous ca Snow ou Zaekof !
enfaîte dans ton widget tu es deja connecter a la base de donnée tu a juste a faire:

   $this->db->insert('lsv', array(
'nom-de-ta-colone' => valeur-a-inserer,
'nom-de-ta-colone' => valeur-a-inserer,
'nom-de-ta-colone' => valeur-a-inserer
));
Zaekof

38 sujets, 883 réponses

Contributeurs Donateurs
Message non lu
oui c'est ça que je voulais que tu lui explique ^^
"N'arrêtez jamais d'apprendre" !
SwoOn

8 sujets, 41 réponses

Message non lu
Ok merci ! Ce c'est pour inserer mes valeurs dans ma table, sachant que mes "valeurs-à-insérer" peuvent être des variables j'imagine.

Par contre, si je veux traduire ces deux lignes :
$req_max = mysqli_query($base, 'SELECT MAX(Id) AS nbMax FROM lsv');
$tab_max = mysqli_fetch_array($req_max);

ce serait un :
public function scores($config = array())
{
return new Panel(array(
'content' => $this->load->view('scores', array(
'max' => $this->db->select('MAX(Id) AS nbMax*')->from('lsv')
))
));
}


mais je ne sais pas du tout comment récupérer mon maxid du coup :-(