Incompréhension

Résolu
Pierre_6790 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, je suis un grand débutant en terme de langage informatique. J'ai créé une base de données sur phpmyadmin via wampserver, le problème est que je ne sais pas comment faire pour la relier (la base de données) à mon code qui est sur sublime text. Si vous pouviez m'éclairer sur le sujet. Merci

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
peux-tu partager ton code, en tenant compte de ceci: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Pierre_6790 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
C'est notamment ici que je requiert ma base de données


<?php

namespace src\Calendar;

class Events {

	/**
	 * Récupère les évènements commençant entre 2 dates
	 * @param \DateTime $start
	 * @param \DateTime $end
	 * @return array
	 */

	public function getEventsBetween (\DateTime $start, \DateTime $end): array {
		try{
		$pdo =new PDO('mysql:host=localhost;dbname=calendar', 'root', 'root');
		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);	
		} catch(PDOException $results) {
		$sql = "SELECT * FROM events WHERE start BETWEEN '{$start->format('Y-m-d 00:00:00')}' AND '{$end->format('Y-m-d 23:59:59')}'";
		$statement = $pdo->query($sql);
		$results = $statement->fetchAll();
		return $results;
		}
	}
}


Et cette deuxième partie
<?php 
require '../src/Calendar/Month.php';
require '../src/Calendar/Events.php';
$events = new Calendar\Events();
$month = new Calendar\Month($_GET['month'] ?? null, $_GET['year'] ?? null);
$start = $month->getStartingDay();
$start = $start->format('N') === '1' ? $start : $month->getStartingDay()->modify('last monday');
$weeks = $month->getWeeks();
$end = (clone $start)->modify('+' . (6 + 7 * ($weeks -1)) . 'days');
$events = $events->getEventsBetween($start, $end);
?>

Sur localhost une erreur apparaît et me dit :
( ! ) Fatal error: Uncaught Error: Class 'Events' not found in C:\wamp64\www\site\public\index.php on line 19
( ! ) Error: Class 'Events' not found in C:\wamp64\www\site\public\index.php on line 19
Je suppose qu'il y a un problème d'emplacement de fichier.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Je me demande si cette discussion ne fait pas double emploi avec une discussion que tu as créée récemment.
0
Pierre_6790 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Oui j'ai récemment poser une question en lien avec ce code mais c'était encore un autre problème, que je crois avoir pu résoudre à l'aide des informations qu'on m'a données.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Pierre_6790 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
Il est utile, alors, de marquer l'autre discussion comme résolue.
Il est possible, également, de remercier celui qui t'a aidé.
0
Pierre_6790 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
J'allais le faire, une fois que je n'aurais plus de problème afin que je sache si j'avais bel et bien réussi à résoudre cet ancien problème. Mais si vous me dîtes de le faire ce que j'ai correctement dû réaliser ce que l'autre utilisateur m'avait dit de faire.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Il est préférable de de partager l'ensemble de ton code, et, pour chaque fichier, de préciser son nom.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Je n'ai pas lu l'intégralité de la discussion .. mais ...

Si tu utilises les namespace .. tu dois alors avoir un autoloader de class

Sinon, en faisant le require à la main.. il ne faut pas prefixer par le namespace

En gros
require '../src/Calendar/Events.php';
$events = new Events();


En "namespace"
use src\Calendar;
$events = new Events();



De plus.. il ne faut pas mettre le chemin depuis la racine de ton disque C mais seulement depuis la racine de ton site ( je te l'ai déjà dit non ?? )

Enfin bon.. il serait utile tout de même que tu suives de vraies formations ou tutos (autrement qu'au format vidéo) ...
Si tu n'apprends pas les "bases" du langages, tu vas être paumé et tu vas devoir quémander de l'aide à chaque ridicule petite difficulté...



0