Aller au contenu

Appeler fonction php avec javascript


Cylvain

Sujets conseillés

Bonjour, 

 

J'ai un éditeur de page html qui sert à faire des catalogues, afin d'y ajouter un bouton ajouter un chien qui est dans ma base de données je voudrais appeler une fonction php dans du javascript, le problème est que je ne sais absolument pas faire cela, quelqu'un pourrait il m'indiquer les démarches?

 

Donc voici mon html ou il y a mon formulaire qui prend l'information à aller chercher dans ma bdd

 

<form method="post" action="bdd.php">
 <label for="idlof"><strong>LOF du chien</strong> :</label>
			<input id="idlof" type="text" name="lof" />

Mon fichier php

<?php
include('connexion.php');
?>
<?php header("Content-Type: text/html; charset=utf-8"); ?>
<?php
$lof = $_POST['lof'];

// -------------------------
// requete : lof
	$lof_query = "SELECT NOM, AFF, TAT, LOF, PUC, TRES, DNAIS, SEX, RADH, RADC, PRAD, PNOM, PRES, MRAD, MNOM, MRES, PROP, PREN, ELEV ".
		" FROM Chien ".
		" WHERE LOF like :lof; ";

  try {
	$pdo_select = $pdo->prepare($lof_query);
	$pdo_select->execute( array(
		':lof' => '%'.$lof.'%'

		
		));
	$lof_nombre = $pdo_select->rowCount();
	$lof_rowAll	= $pdo_select->fetchAll();
	
	
  } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
// -------------------------

if($lof_nombre>0) {
	// boucle pour lister
	foreach ($lof_rowAll as $lof_row)
	{
?>
<?php

if(($lof_row['RADH']=='HD') AND ($lof_row['RADC']=='ED')){	
echo '<p><strong> ('.$lof_row['RADH'].'/'.$lof_row['RADC'].') </strong>';
} 
elseif(($lof_row['RADH']!='HD') AND ($lof_row['RADC']=='ED')){
echo '<p><strong>( '.$lof_row['RADC'].') </strong>';
} 
elseif(($lof_row['RADH']=='HD') AND ($lof_row['RADC']!='ED')){
echo '<p><strong>( '.$lof_row['RADH'].') </strong>';
}
?>
<?php
echo '<strong>'.$lof_row['NOM'].' '.$lof_row['AFF'].' '.$lof_row['TRES'].'</strong><p>';?>
<?php
if($lof_row['SEX']=='M') {
echo '<p>Né le : '.$lof_row['DNAIS'].'    ';
}
elseif($lof_row['SEX']=='F') {
echo '<p>Née le : '.$lof_row['DNAIS'].'    ';
}
?>
<?php
 echo'  Lof : '.$lof_row['LOF'].'';
?>
 <?php
if($lof_row['TAT']>0) {
echo'   Tatouage : '.$lof_row['TAT'].'</p>';
}
elseif($lof_row['PUC']>0) {
echo '   Puce : '.$lof_row['PUC'].'</p>';
}
?>
<?php
echo '<p>Père: ('.$lof_row['PRAD'].') '.$lof_row['PNOM'].' '.$lof_row['PRES'].' <p>';
echo '<p>Mère: ('.$lof_row['MRAD'].') '.$lof_row['MNOM'].' '.$lof_row['MRES'].' <p>';
}


?>
<?php
// condition prod eleveur
if($lof_row['PROP']==$lof_row['ELEV']) {
echo '<p><strong> Prod / prop :'.$lof_row['PROP'].' </strong>';
} 
elseif($lof_row['PROP']!=$lof_row['ELEV']) {
echo '<p>Prod:  '.$lof_row['PROP'].' Prop : '.$lof_row['ELEV'].'   ';
						}
						} else {
		echo '<p>Rien trouvé...<p>';
}
?>

Mon index de mon éditeur html 

 

 

<div class="box box-element" data-type="header">
                                    <a href="#close" class="remove btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i></a>
                                    <a class="drag btn btn-default btn-xs"><i class="glyphicon glyphicon-move"></i></a>
                                    <span class="configuration">
                                        <a class="btn btn-xs btn-warning settings"  href="#" ><i class="fa fa-gear"></i></a>
                                    </span>

                                    <div class="preview">
                                        <i class="fa fa-header fa-2x"></i>
                                        <div class="element-desc">header</div>
                                    </div>
                                    <div class="view">
                                        <h2>Titre</h2>
                                    </div>
                                </div>
                               
                       
                                <div class="box box-element" data-type="paragraph">
                                    <a href="#close" class="remove btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i></a>
                                    <a class="drag btn btn-default btn-xs"><i class="glyphicon glyphicon-move"></i></a>
                                    <span class="configuration">
                                        <a class="btn btn-xs btn-warning settings"  href="#" ><i class="fa fa-gear"></i></a>
                                    </span>

                                    <div class="preview">
                                        <i class="fa fa-font fa-2x"></i>
                                        <div class="element-desc">Paragraphe</div>
                                    </div>
                                    <div class="view">
                                        <p>Remplacer par votre texte </p>
                                    </div>

et mon fichier app js 

 

 case 'header':
            var editor = tinyMCE.get('html5editor');
            editor.setContent(clonedPart);
            $('#text').show();

            confirm.bind('click', function (e) {
                e.preventDefault();
                saveRowSettings(row);
                saveColumnSettings(column);
                o.html(editor.getContent());
                o.attr('id', $('#id').val());
                o.attr('class', $('#class').val());
            });
            break;
    
        case 'paragraph':

            var editor = tinyMCE.get('html5editor');
            editor.setContent(clonedPart);
            $('#text').show();

            var o = part.find('div.view');
            confirm.bind('click', function (e) {
                e.preventDefault();
                saveRowSettings(row);
                saveColumnSettings(column);
                o.html(editor.getContent());
                o.attr('id', $('#id').val());
              
            });

Merci pour vos conseil et votre aide 

Lien vers le commentaire
Partager sur d’autres sites

Appeler une function PHP dans du js ce n'est pas possible : le PHP est exécuté sur le serveur, alors que le js l'est au niveau du navigateur.

 

Ta demande n'est pas très claire, que veux tu faire précisément.

 

Au passage, revois les noms de champs dans ta base de données, c'est tout sauf lisible, et du coup ton code n'est pas du tout compréhensible, on ne sait pas ce que tu cherches a afficher

 

 

Lien vers le commentaire
Partager sur d’autres sites

ce qu'il est possible de faire, c'est, en ajax, d'appeler un script php sur le serveur qui va faire et retourner quelque chose, et en javascript, de faire quelque chose du retour du script php.

après je n'ai pas très bien compris non plus la demande.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je vais essayer d'être plus clair

 

J'ai côté visiteur un éditeur html avec des éléments, lorsque je glisse mes éléments dans ma page je peux les personnaliser.

 

Je voudrais rajouter à ces éléments un nouvel élément "lof"

une fois glissé dans ma page, un pop up s'ouvre avec un champ à remplir, le résultat de ce champs exécute ma requête qui est dans mon fichier php (informations que je vais chercher dans ma base de données) puis les affiche dans ma page.

 

Merci pour votre aide 

 

 

 

 

 

 

Modifié par Cylvain
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je rencontre plusieurs problèmes à mon projet

dans mon fichier html pour afficher mon element drag and drop
 

Puis dans mon fichier .js pour récupérer les éléments dans ma bdd et les afficher

Code :

<div class="box box-element" data-type="Chien">
                                    <a href="#close" class="remove btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i></a>
                                    <a class="drag btn btn-default btn-xs"><i class="glyphicon glyphicon-move"></i></a>
                                    <span class="configuration">
                                        <a class="btn btn-xs btn-warning settings"  href="#" ><i class="fa fa-gear"></i></a>
                                    </span>
 
                                    <div class="preview">
                                        <i class="fa fa-gear fa-2x"></i>
                                        <div class="element-desc">Chien</div>
                                    </div>
                                    <div class="view">
                                    <div id="results">
                                    </div>    
                                        <br/>
                                        <br/>
                                    </div>
                                </div>

Puis pour afficher mon champ dans la boite de dialogue une fois mis dans ma page

 <div class="form-group">
 
             <form action="" method="post">
 
              <input class="form-control" type="text" id="lof" name="lof" placeholder="N° LOF du chien">
 
               </form>
               </div>

Puis dans mon fichier .js pour récupérer les éléments dans ma bdd et les afficher

$(document).ready( function() {
      $("#lof").keyup(function() {
        var lof = $('#lof').val();
        $.post('bdd.php', {'lof':lof}, function(data) {
            $('#results').html(data); // affichage des résultats dans le bloc
        });
         });
          });

Problèmes

1) le champ lof apparait dans tout mes éléments
2) lorsque je tape un lof dans le champ, la réponse s'affiche dans mon icône drag and drop, donc je dois la remettre dans la page pour afficher le résultat.
3) l'affichage se fait mais j'ai tout les résultats qui forme ma référence du lof
ex : n°52
affichage : chien 5, chien 2, chien 25 et chien 52.


je ne pense utiliser un mauvais script.

Est ce que quelqu'un à une idée?

Merci

 

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...