Javascript dans code PHP

Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 20 janv. 2014 à 14:04
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 - 23 janv. 2014 à 15:16
Bonjour, pour mon site j'ai créé une base de données qui doit réunir entre autres une région, un département et un code postal, précisés par l'utilisateur. Mais celui-ci pourra ne préciser que le code postal s'il le veut. Alors mon code doit faire correspondre un département en fonction du code postal ( je n'ai pas encore la fonction pour la région mais j'aurais besoin d'éclaircissements sur la syntaxe pour le moment). Cette fonction département est simple, c'est la partie entière du code postal divisé par 1000.
Mais ensuite, pour insérer ça dans une base de données, voilà ce que j'ai tenté :

$req = $bdd->prepare('INSERT INTO annonces(Region, Departement, Code) VALUES(?,?,?)');
$req->execute(array(
region(),
departement(),
$_GET['code'],

));

Où region et departement sont mes deux fonctions, mais ça me dit que ces fonction sont non définies... Je ne sais pas si ça compte, mais j'ai écris ces fonctions avant le <!DOCTYPE html>...

Merci d'avance pour votre aide !
A voir également:

1 réponse

nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
23 janv. 2014 à 15:16
Salut,

<?php
/**
* Salut, pour moi ce code php ne fais aucun sens,
* je vais donc te donné un petit coup de main.
*/

/**
* ICI tu tente d'utiliser un function nommé prepare 
* d'une calss nommé x que tu à initialiser via la variable $bdd 
* malheureusement moi je ne sais pas si elle retourne une valeur quelconque.
* donc impossible de savoir si cette syntaxe est valide.
*
* Si cette fonction ne retourne rien pourquoi utiliser $req =
* mais peux importe.
*/
$req = $bdd->prepare('INSERT INTO annonces(Region, Departement, Code) VALUES(?,?,?)');

/**
* C'est ici que les chose ne fond aucun sens pour moi $req->.
*/
$req->execute(array(region(),departement(),$_GET['code'],));

/**
* Voici comment une connexion et requette devrais etre faite sur une mase de donné
* Étape 1 connexion ->
*/

/*========================================================================================================
----------------------------------------- //CONFIGURATIONS// ---------------------------------------------
========================================================================================================*/		
														  
// MYSQL / BDD
$serveraddress = "localhost";
$serveruser = "username";
$serverpass = "password";
$serverport	= "3306";
$server_bdd = "nom_base_de_donne"; 

// Connexion
$connection_setup = mysql_connect($serveraddress . ':' . $serverport,$serveruser,$serverpass)or die(mysql_error());
mysql_select_db($server_bdd,$connection_setup)or die(mysql_error());
mysql_query("SET NAMES UTF8") or die(mysql_error()); 

/**
* Étape 2 faire tes requette
*/

//Préparation de la requette  --> dans ton cas
$requette = "INSERT INTO 'annonces' (	'Region', 
									 	'Departement', 
									 	'Code'
						   ) VALUES (	'".function_region()."',
						   				'".function_Departement()."',
										'".function_code()."'
									)";
//Requette 
if (!mysql_query($requette)){
	die(mysql_error());
}

/**
* Les function doivent retourner un valeur valide par contre.
* P.S L'extension mysql_connect est déprécier il n'est pas recommander de l'utiliser
* tu devrais utiliser mysqli ou PDO_mysql à la place. mysqli est plus imple d'utilisation.
*
* De plus tu semble avoir utiliser une class pour tes requette voici à quoi elle pourais resembler selon moi dans un cas pareil.
*/

class bdd {

	public function prepare($func1, $func2, $func3){
		return "INSERT INTO 'annonces' (	'Region', 
									 	'Departement', 
									 	'Code'
						   ) VALUES (	'".$func1."',
						   				'".$func2."',
										'".$func3."'
									)";
	}
	
	public function execute($query){
		if (mysql_query($query)){
			return true;
		} 
		else{
			return mysql_error();
		}
	}
}
$bdd = new bdd;

/**
* Et la tu aurrais pu utiliser le code que tu donne comme ceci.
*/

$req = $bdd->prepare(function_region(), function_departement(), function_code());
$result = $bdd->execute($req);
if (!$result){
	echo $result;
}
/**
* Selon moi c'est te caser la vie pour iren mais a toi de voir 
* Utiliser des class pour faire ca selon moi ca sert a rien.
*/

?> 



Bonne chance!
0