Dati form non riconosciuti mysql

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
Salve ho creato un modulo di ricerca avanzato che scarica dei dati dalle tabelle e le mette in una pagina con delle pagine ecc, il problema sta nel form che una volta compilato ad esempio, digitando solo foto mi scarica i risultati, ma solo nella prima pagina mi restituisce i dati perfettamente, se clicco sulla pagina 2 non restituisce i valori assegnati dal form mettendomi tutte le opzioni, il form in questione l ho impostato cosi
PHP:
$keyFoto = $_GET['foto'];
if(isset($keyFoto)){
 $CondizioneFoto = "AND pp_thumb_photo LIKE '%$keyFoto%'";
}
<form method='GET' id='FormChattaCon' class='FormBase' action=''>
<div class='ConFoto'>Con Foto: <input id="checkBox"  name="foto" type="checkbox"  onclick="javascript: submitform()" <?php echo $check;?>/> </div>


</form>
richiamato dal fili index.php
il problema che nel file pagina.php non riesco a far iniettare i dati del form quando digito submit
Codice:
<script type="text/javascript">
$(document).ready(function(){
$('.pagination').pagination({
        items: <?php echo $total_records;?>,
        itemsOnPage: <?php echo $limit;?>,
        cssStyle: 'light-theme',
        currentPage : 0,
        onPageClick : function(pageNumber) {
            jQuery("#target-content").html('loading...');
            jQuery("#target-content").load("pagina.php?page=" + pageNumber);
        }
    });
});
</script>
nel file pagina dove assegnare i campi che compilo su
PHP:
$sql = "SELECT * FROM   members INNER JOIN   pfields_content ON   members.member_id =   pfields_content.member_id  $whereSQL $keyRegione $CondizioneEta $CondizioneFoto ORDER BY last_activity DESC LIMIT $start_from, $limit";
domanda
come faccio a inserire i dati del form sul file pagina.php quando viene richiamata sul file index.php?
grazie in anticipo
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
Ciao è difficile da spiegare, ma ci vuole piu a dirlo che a farlo, ho un form situato sulla index.php questo form scarica dei dati su una tabella mysql e me li mette su index.php sotto pagine, 1 2 3 4 5 6 ecc, queste pagine vengono generate sul file pagine.php, il problema sta che se clicco la pagina numero 2, non vengono generati i risultati in base al settaggio del form, perche appunto il form è situato nell'index, forse dovrei usare un ajax in modo che se clicco le varie pagine mi metta sulla pagina pagina.php le variabili contenute su index.php e il relativo form...avete idee?
 

Antonio De Marco

Utente Attivo
28 Lug 2015
60
4
8
ademarco.it
si infatti non so se ho capito bene ma ci provo, da quanto mi descrivi probabilmente non passi la $_GET['foto'] quando clicchi su pagina 2, 3, 4 ecc.. può essere ? Lo scopo è banale e ci sta, sta tutto nel capire come hai organizzato la cosa.
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
uso due file
il primo e index.php
PHP:
<?php
include('db.php');
$keyFoto = $_GET['foto'];


if(isset($keyFoto)){
 $CondizioneFoto = "AND thumb_photo LIKE '%$keyFoto%'";
}


//for total count data
$countSql = "SELECT COUNT(last_activity) FROM members INNER JOIN  pfields_content ON members.member_id = pfields_content.member_id  $whereSQL $keyRegione $CondizioneEta $CondizioneFoto ";
$tot_result = mysqli_query($conn, $countSql);
$row = mysqli_fetch_row($tot_result);
$total_records = $row[0];
$total_pages = ceil($total_records / $limit);

//for first time load data
if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $limit;  
$sql = "SELECT * FROM members INNER JOIN  pfields_content ON members.member_id = pfields_content.member_id  $whereSQL $keyRegione $CondizioneEta $CondizioneFoto ORDER BY last_activity DESC LIMIT $start_from, $limit";
$rs_result = mysqli_query($conn, $sql);
?>
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>


</head>
<body>
<div class="loader">CARICAMENTO...</div>


<div class="BloccoBaseBO">


<div class="container" id="BOcontent">


<!-- Tab panes -->
<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="tab1">
<form method='GET' id='FormChattaCon' class='FormBase' action=''>

<div class='ConFoto'>Con Foto: <input id="checkBox"  name="foto" type="checkbox"  onclick="javascript: submitform()" <?php echo $check;?>/> </div>


</form>
<div class='InfoGlobal'>
Scopri gli utenti online adesso, visita il loro profilo, scrivigli e usa i filtri...
</div>

<table class="table table-bordered table-striped">
<tbody id="target-content">


<?php

while ($row = mysqli_fetch_assoc($rs_result)) {


// foto
$photo = $row['photo'];
$IDGruppo = array('29','77','62','83','46','43','73','58','68','2','78','63','82','45','42','71','52','67','27','76','60','81','44','41','70','56','65');

echo '<li class="FotoBloccoB">';
if(empty($photo)) { 
if(in_array($GruppoID, $IDGruppo)) {
echo '<a href="http://www..it/index.php?/profile/' . $MemberId . '-' . $MemberName . '" title="Visualizza il profilo di ' . $MemberName . '" target="_top"><img src="http://www..it/uploads/profile_photos/' . $photo . '" class="imgA" /></a>';
}
}
else{
echo '<a href="http://www..it/index.php?/profile/' . $MemberId . '-' . $MemberName . '" title="Visualizza il profilo di ' . $MemberName . '" target="_top"><img src="http://www..it/uploads/profile_photos/' . $photo . '" class="imgA" /></a>';
}
echo '</li>';




}; 
?>
</tbody>
</table> 
<nav><ul class="pagination">
<?php if(!empty($total_pages)):for($i=0; $i<=$total_pages; $i++):
            if($i == 0):?>
            <li class='active'  id="<?php echo $i;?>"><a href='pagination.php?page=<?php echo $i;?>'><?php echo $i;?></a></li>
            <?php else:?>
            <li id="<?php echo $i;?>"><a href='pagination.php?page=<?php echo $i;?>'><?php echo $i;?></a></li>
        <?php endif;?>
<?php endfor;endif;?>
</ul>
</nav>


</div>







</div></div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.pagination').pagination({
        items: <?php echo $total_records;?>, 
        itemsOnPage: <?php echo $limit;?>,
        cssStyle: 'light-theme',
        currentPage : 0,
        onPageClick : function(pageNumber) {
            jQuery("#target-content").html('loading...');
            jQuery("#target-content").load("pagination.php?page=" + pageNumber);
        }
    });
});
</script>
 


</body>
</html>
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
il secondo è questo
Codice:
<?php
include('db.php');

if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $limit;

$sql = "SELECT * FROM members INNER JOIN  pfields_content ON members.member_id = pfields_content.member_id  $whereSQL $keyRegione $CondizioneEta $CondizioneFoto ORDER BY last_activity DESC LIMIT $start_from, $limit";
$rs_result = mysqli_query($conn, $sql);
?>

<?php
while ($row = mysqli_fetch_assoc($rs_result)) {

// foto
$photo = $row['pp_main_photo'];
$IDGruppo = array('29','77','62','83','46','43','73','58','68','2','78','63','82','45','42','71','52','67','27','76','60','81','44','41','70','56','65');



};
?>
dove mi rilascia i dati se clicco pag 1 , 2 , 3 ecc
solo che i risultati rilasciati non cambiano in base al form, ad esempio le foto...dove vengono generati solo su index.php
sono bloccato a questa cosa, qualcuno mi aiuta?
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
29
BZ
Ciao mi intrometto.
Ma quando scrivi
questo form scarica dei dati su una tabella mysql
intendi che compilato il form e fatto il submit, esegue una query e restituisce i risultati?

Presumo che ogni riga nel db abbia un suo ID identificativo. Se è cosi una volta estratti i risultati potresti fare una cosa del genere.

Crei un url di questo genere.
Codice:
http://miosito.it/numeroIDidentificativo
ES:
Codice:
http://miosito.it/1
http://miosito.it/2
http://miosito.it/3

crei una pagina resultato.php ed inserisci
PHP:
<?php
$id = $_GET['id'];
echo $id;
//esegui una query con $id e recuperi tutte le informazioni del record specifico
?>

crei un file .htaccess e vai a inserire questo
Codice:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([^/\.]+)/?$ resultato.php?id=$1 [L]
</IfModule>


fammi sapere
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
ho semplicemente creato un form con tutti i dati e questo form su index.php mi compila i dati di ricerca in get sul $countSql e $Sql e funziona, solo che il codice
Codice:
<script type="text/javascript">
$(document).ready(function(){
$('.pagination').pagination({
        items: <?php echo $total_records;?>,
        itemsOnPage: <?php echo $limit;?>,
        cssStyle: 'light-theme',
        currentPage : 0,
        onPageClick : function(pageNumber) {
            jQuery("#target-content").html('loading...');
            jQuery("#target-content").load("pagination.php?page=" + pageNumber);
        }
    });
});
</script>
una volta cliccate le varie pagine non riesce a inserire i dati del form sul file pagination.php, il problema è questo =(
 

Antonio De Marco

Utente Attivo
28 Lug 2015
60
4
8
ademarco.it
Ah okey allora dovremmo esserci, il "colpevole" è lui.
Codice:
 jQuery("#target-content").load("pagination.php?page=" + pageNumber);
Alla pagination.php tu giustamente gli passi il numero di pagina da visualizzare (che fungerà immagino da LIMIT per il numero di record), tuttavia devi anche passargli la variabile foto e quindi ti uscirebbe una roba tipo:
Codice:
 jQuery("#target-content").load("pagination.php?page=" + pageNumber + "&foto=" + $_GET["foto"]);
In questo modo la pagination.php non solo riceve la pagina ma anche il dato del form desiderato. Tutto qui ? No.
Nella pagination.php ora devi reperire questo dato e lavorarlo di conseguenza, come nella index.php e quindi in soldoni avresti una roba simile:


Codice:
<?php
include('db.php');

$keyFoto = $_GET['foto'];
if(isset($keyFoto)){
 $CondizioneFoto = "AND pp_thumb_photo LIKE '%$keyFoto%'";
}

if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $limit;

$sql = "SELECT * FROM members INNER JOIN  pfields_content ON members.member_id = pfields_content.member_id  $whereSQL $keyRegione $CondizioneEta $CondizioneFoto ORDER BY last_activity DESC LIMIT $start_from, $limit";

while ($row = mysqli_fetch_assoc($rs_result)) {

// foto
$photo = $row['pp_main_photo'];
$IDGruppo = array('29','77','62','83','46','43','73','58','68','2','78','63','82','45','42','71','52','67','27','76','60','81','44','41','70','56','65');



};
?>

In questo modo dovrebbe fare ciò che chiedi, fammi sapere.
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
Ciao antonio grazie della risposta, ho fatto quanto segue ma ora non mi restituisc nessun dato inserisco screen
QOiDI0y.png

mi rimane il load attivo, ho messo il codice come hai detto sia sul file pagination.php che sull'index.php, non ne vuole sapere di uscire con i dati del form
Codice:
<script type="text/javascript">
$(document).ready(function(){
$('.pagination').pagination({
        items: <?php echo $total_records;?>,
        itemsOnPage: <?php echo $limit;?>,
        cssStyle: 'light-theme',
        currentPage : 0,
        onPageClick : function(pageNumber) {
            jQuery("#target-content").html('loading...');
             jQuery("#target-content").load("pagination.php?page=" + pageNumber + "sesso"+$_GET['sesso']+"eta"+$_GET['eta']+"regione"+$_GET['regione']+"&foto=" + $_GET["foto"]);
        }
    });
});
</script>

si il problema sta proprio nel passare i dati del form sulla pagina pagination.php, son fermo a questo punto, hai altre idee? non e che per caso bisogna inserire un campo var con le variabili del form in quello script?
 

Antonio De Marco

Utente Attivo
28 Lug 2015
60
4
8
ademarco.it
Allora hai avuto una disattenzione nella creazione della stringa load, sarebbe:
Codice:
 jQuery("#target-content").load("pagination.php?page=" + pageNumber + "&sesso"+$_GET['sesso']+"&eta="+$_GET['eta']+"&regione="+$_GET['regione']+"&foto=" + $_GET["foto"]);
(mancavano gli uguale e le & commerciali)
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
Codice:
         jQuery("#target-content").load("pagination.php?page=" + pageNumber + "&sesso=" + $_GET['sesso'] + "&eta=" + $_GET['eta'] + "&regione=" + $_GET['regione'] + "&foto=" + $_GET["foto"]);
inserito aggiornato ma restituisce sempre quel load dello screen iniziale =(
ho sbagliato qualcosa?
 

Antonio De Marco

Utente Attivo
28 Lug 2015
60
4
8
ademarco.it
Ok perdonami è stata una mia disattenzione, la formulazione corretta per il metodo load di jquery è la seguente:
Codice:
    $("#target-content").load("pagination.php", {"page": pageNumber, "foto": "<?=$_GET["foto"]?>"});
Come noti è totalmente differente e ti rimando per maggiori info alla documentazione ufficiale http://api.jquery.com/load/.
In sintesi comunque i parametri li passi come ti ho fatto vedere nell'esempio quindi tra doppi apici racchiudi a sinistra il nome del parametro e a destra il valore (separati da i "due punti"). Per aggiungere un successivo valore basta mettere la virgola e continuare.
L'ho provato io stesso e i dati vengono inviati (mentre prima assolutamente no)
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
le ho provate tutte non ne vuole sapere di andare ho inserito questo
Codice:
 jQuery("#target-content").load("pagination.php?", {"page=": pageNumber, "foto=": "<?php $_GET["foto"]; ?>"});
mi scarica rempre il risultato resettato con utenti sia con foto che senza foto
il link del browser è questo
/?foto=on#page-1
mi da i risultati solo all'aggiornamento della pagina poi se clicco i pulsanti sotto mi resetta tutto, che incubo
 

Antonio De Marco

Utente Attivo
28 Lug 2015
60
4
8
ademarco.it
Allora a me funziona tutto ed ecco cosa ho fatto:
  • Nel pagination.php i dati non vanno reperiti con il $_GET ma via $_POST
  • Nel mio scenario ho fatto che il checkbox mi mostrasse solo gli over 60 (che è la stessa cosa delle foto), quindi il mio form è stato identico al tuo e il codice nel pagination.php è stato
    Codice:
    $keyPensionati = $_POST['pensionato'];
    $Condizione1  = "";
    if(isset($keyPensionati)){
     $Condizione1 = " WHERE employee_age > 60";
    }
    
    
    if (isset($_POST["page"])) { $page  = $_POST["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * $limit; 
     
    $sql = "SELECT * FROM employee $Condizione1 ORDER BY id ASC LIMIT $start_from, $limit"; 
    $rs_result = mysqli_query($conn, $sql);

Non ho riscontrato neanche una volta il loading che hai messo in foto, prova a seguire queste dritte e deve andarti per forza (sul mio pc va ed è codice tuo alla fine, solo con queste correzioni fatte:)). Naturalmente è uno scenario semplificato ma è la base di quello che hai scritto a inizio post, non cambia nulla ci sono solo più campi.
 

trattorino

Utente Attivo
23 Lug 2016
174
2
18
40
ma nel tuo caso il form lo fai partire dall'index? se si, mi puoi passare lo script finale, cosi vedo cosa ho sbagliato, grazie mille
 

Antonio De Marco

Utente Attivo
28 Lug 2015
60
4
8
ademarco.it
Assolutamente si, ecco a te la index.php
Codice:
<?php
include('db.php');

$keyMinorenni = $_GET['pensionato'];
$Condizione1  = "";
if(isset($keyMinorenni)){
 $Condizione1 = " WHERE employee_age > 60";
}

//for total count data
$countSql = "SELECT COUNT(id) FROM employee $Condizione1"; 
$tot_result = mysqli_query($conn, $countSql);   
$row = mysqli_fetch_row($tot_result); 
$total_records = $row[0]; 
$total_pages = ceil($total_records / $limit);

//for first time load data
if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
$start_from = ($page-1) * $limit; 
$sql = "SELECT * FROM employee $Condizione1 ORDER BY id ASC LIMIT $start_from, $limit"; 
$rs_result = mysqli_query($conn, $sql);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="dist/simplePagination.css" />
<script src="dist/jquery.simplePagination.js"></script>
<title></title>
<script>
</script>
</head>
<body>
<div class="container" style="padding-top:20px;">

<form method='GET' id='FormChattaCon' class='FormBase' action='index.php'>
<div class='ConFoto'>Mostra solo gli over 60: <input id="checkBox"  name="pensionato" type="checkbox"  onclick="javascript: form.submit()" <?php echo $check;?>/> </div>
</form>

<table class="table table-bordered table-striped"> 
<thead> 
<tr> 
<th>Name</th> 
<th>Salary</th>
<th>Age</th> 
</tr> 
</thead> 
<tbody id="target-content">
<?php 
while ($row = mysqli_fetch_assoc($rs_result)) {
?> 
            <tr> 
            <td><?php echo $row["employee_name"]; ?></td> 
            <td><?php echo $row["employee_salary"]; ?></td> 
            <td><?php echo $row["employee_age"]; ?></td> 
            </tr> 
<?php 
}; 
?>
</tbody>
</table>
<nav><ul class="pagination">
<?php if(!empty($total_pages)):for($i=1; $i<=$total_pages; $i++): 
            if($i == 1):?>
            <li class='active'  id="<?php echo $i;?>"><a href='pagination.php?page=<?php echo $i;?>'><?php echo $i;?></a></li>
            <?php else:?>
            <li id="<?php echo $i;?>"><a href='pagination.php?page=<?php echo $i;?>'><?php echo $i;?></a></li>
        <?php endif;?>         
<?php endfor;endif;?>
</ul></nav>
</div>
</body>
<script type="text/javascript">
$(document).ready(function(){
$('.pagination').pagination({
        items: <?php echo $total_records;?>,
        itemsOnPage: <?php echo $limit;?>,
        cssStyle: 'light-theme',
        currentPage : 1,
        onPageClick : function(pageNumber) {
            jQuery("#target-content").html('loading...');
            jQuery("#target-content").load("pagination.php", {"page":pageNumber, "pensionato": "<?=$_GET['pensionato']?>"});
        }
    });
});
</script>

Attenzione che mi mancava la funzione dell'onsubmit quando cliccavi sul checkbox, allora l'ho fatto diventare un semplice form normale tramite il form.submit(). Come se non ci fosse l'onclick insomma
 
Discussioni simili
Autore Titolo Forum Risposte Data
asevenx [PHP] form con select che non invia dati se con apostrofo PHP 4
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
P invio form non corretto dopo controllo dati PHP 8
P form che non invia i dati PHP 8
G form php connesso a database ma non inserisce dati PHP 5
F I dati del form non vengo registrati sul db PHP 4
S Form a tendina non invia dati PHP 7
L inserimento form dati multipli ? PHP 0
J Form inserimento dati in database Ajax 1
A Inserimento dati nel database tramite form + altre operazioni PHP 18
L inviare i dati di un form ad un database PHP 6
O [PHP] inviare dati da form e script ajax PHP 0
A [ASP] Confronto tra dati Form e DB Classic ASP 2
B [PHP] Creare PDF dopo inserimento dati form PHP 4
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
A [PHP] Invio automatico dati da form PHP 6
E Form inserimento dati con JavaScript Javascript 0
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
D [Javascript] Validare dati in un form prima di spedirlo Javascript 1
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
S [PHP] Verifica dati tramite form e annullamento codice inserito PHP 7
L [PHP] Salvare csv da form dati PHP 5
J [PHP] [HTML] Trasferire dati da un form ad un dominio diverso. PHP 3
M [MS Access] Passare i dati di una query da form a report MS Access 3
S form php che invia dati a Paypal PHP 4
P [PHP] Ricezione dati da form PHP 10
bubino8 [PHP] Auto Submit form con dati PHP 7
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
B INSERIRE DATI CON IMMAGINE DA FORM IN MYSQL MySQL 7
M [PHP] errore in semplie form inserimento dati PHP 7
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
V [PHP] Form con elenco a tendina con dati DB PHP 20
M [PHP] controllo inserimento dati un un form PHP 4
Fuego2806 Stampare dati Form su immagine di sfondo con html HTML e CSS 1
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
J Inserimento dati in db da due o più form PHP 0
P invio mail da form con dati php PHP 7
M Acquisizione dati da form MySQL 3
C Come posso integrare il bottone "paga adesso" di paypal e un form php per invio dati? PHP 1
clodiny come ripristinare i dati di un form Javascript 11
A passaggio dati form al db PHP 1
A Aiuto form inserimento dati PHP 3
elpirata Eliminare dati selezionati da una form di select PHP 6
C dati form su file txt in locale Javascript 0
M Mandare dati dinamici tramite form html PHP 0
W Modifica su invio dati da form PHP 4
N impedire invio dati form jQuery 3
D Problemi con form aggiornamento dati PHP 4
D Verifica inserimento dati form PHP 12
P Caricare nuova pagina dopo invio dati form Javascript 11

Discussioni simili