IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

recherche dynamique php mysql ajax avec possibilité de modifier


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut recherche dynamique php mysql ajax avec possibilité de modifier
    bonjour j'ai besoin de votre aide:
    je voudrai créer une page web où on puisse rechercher dynamiquement les résultats dans une base de données.
    j'ai fais la recherche mais je peux pas ouvrir la ligne choisi dans une page php Edit.php pour la modifier
    voici mes codes
    page index.php
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<title>recherche</title>
    		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    		<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    		<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    	</head>
    	<body>
    		<div class="container">
    			<br />
    			<br />
    			<br />
    			<h2 align="center">recherche</h2><br />
    			<div class="form-group"  accept-charset="utf-8">
    			   	<div class="input-group">
    					<span class="input-group-addon">search</span>
    					<input type="text" name="search_text" id="search_text" placeholder="Search by Customer Details" class="form-control" />
    				</div>
    			</div>
    			<br />
    			<div id="result"></div>
    		</div>
    		<div style="clear:both;"></div>
    		<br />
     
    		<br />
    		<br />
    		<br />
    	</body>
    </html>
    <script>
    $(document).ready(function(){
            load_data();
            function load_data(query)
            {
                    $.ajax({
                            url:"fetch.php",
                            method:"post",
                            data:{query:query},
                            success:function(data)
                            {
                                    $('#result').html(data);
                            }
                    });
            }
            $('#search_text').keyup(function(){
                    var search = $(this).val();
                    if(search != '')
                    {
                            load_data(search);
                    }
                    else
                    {
                            load_data();                    
                    }
            });
    });
    </script>
    page fetch.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php
     
    $connect = mysqli_connect("Localhost", "root", "", "Db_mysql");
    $connect->set_charset("utf8");
    $output = '';
     
    if(isset($_POST["query"]))
    {
    	$search = mysqli_real_escape_string($connect, $_POST["query"]);
     
    	$query = "
    	SELECT * FROM db_table 
    	WHERE Nom LIKE '%".$search."%'
    	OR Prenom LIKE '%".$search."%' 
    	OR City LIKE '%".$search."%' 
    	";
    }
    else
    {
    	$query = "
    	SELECT * FROM db_table ORDER BY ID";
    }
    $result = mysqli_query($connect, $query);
     
    if(mysqli_num_rows($result) > 0)
    {
    	$output .= '<div class="table-responsive">
    					<table class="table table bordered">
    						<tr>
    							<th></th>
    							<th></th>
    						</tr>';
    	while($row = mysqli_fetch_array($result))
    	{
    		$output .= '
    			<tr>	
    				<td align="center">'.$row["Nom"].'</td>
    				<td align="center"><input type="submit" value="edit"></td>
    			</tr>
    		';
    	}
    	echo $output;
    }
    else
    {
    	echo 'Data Not Found';
    }
    ?>
    merci

  2. #2
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 229
    Points
    229
    Par défaut
    Bonjour,

    Je ne suis pas certain de comprendre ce que vous voulez faire... Mais vous insérez un bouton type="submit" dans votre tableau, sans formulaire. Si vous voulez rediriger l'utilisateur vers une page "edit.php", il serait plus pertinent de faire un lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $output .= <<<EOT
    	<tr>	
    		<td align='center'>{$row['Nom']}</td>
    		<td align='center'><a href='edit.php?id={$row['ID']}'>Editer</a></td>
    	</tr>
    EOT
    ;

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ou avec un <form> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		$output .= '
    			<tr>	
    				<td align="center">'.$row["Nom"].'</td>
    				<td align="center">
    					<form method="post" action="Edit.php">
    						<input type="hidden" name="id" value="'.$row["Id"].'" />
    						<button type="submit" name="edit">Edit</button>
    					</form>
    				</td>
    			</tr>
    		';

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut merci pour votre réponse
    @Trehinos

    quand je fais ce que vous avez dis j'ai un message d'erreur
    Parse error: syntax error, unexpected 'edit' (T_STRING) in C:\xampp\htdocs\archive\fetch.php on line 50

  5. #5
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 229
    Points
    229
    Par défaut
    Attention aux délimiteurs de littéraux (<<<EOT / EOT, "", ''), ne copiez-collez pas mon code, étudiez-le

  6. #6
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut merci
    j'ai essayé mais le même message d'erreur

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut merci pour votre réponse
    @jreaux62

    désolé je veux dire que la page Edit.php ne prend pas la valeur de Id

  8. #8
    Invité
    Invité(e)
    Par défaut
    C'est bien... mais si tu ne montres pas TON code (et notamment la ligne 50), que veux-tu qu'on te dise de plus ?
    N.B. A toi aussi de savoir comment s'appelle d'index auto-incrément dans ta table : Id ? ID ? id ? .... ?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut merci
    désolé cette erreur c'est pas du code que vous m'avez donnez
    mais j'ai un petit problème avec votre code: j'arrive pas à récupérer le ID dans la Edit.php

  10. #10
    Invité
    Invité(e)
    Par défaut
    page Edit.php :
    il faut récupérer l'id de la ligne,
    • soit avec $_GET['id'] (si lien <a>)
    • soit avec $_POST['id'] (si <form method="post").
    Dernière modification par Invité ; 21/02/2020 à 15h38.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    Merci bcp ça marche
    Mais j'ai un petit problème
    Je récupère le chemin d'un pdf et je voudrai l'afficher mais rien n'est affiché
    Même si le chemin est vrai et le fichier existe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    		<?php
    		    $file=$_POST['file_chemin'];
     
    	header("Content-type: application/pdf"); 
     
    	header("Content-Length: " . filesize($file)); 
     
    	// Envoyez le fichier au navigateur.
    	readfile($file); 
     
     
            ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP/MySQL] pb avec la commande mysql_fetch_object()
    Par will89 dans le forum Administration
    Réponses: 7
    Dernier message: 13/06/2006, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo