inserimento o eliminazione record mysql senza cambio pagina

crashall

Nuovo Utente
29 Ott 2014
14
0
0
salve ragazzi, ho un problemino :crying:
ho creato una pagina con 2 menu a comparsa che quando sono valorizzati visualizzano sotto, una pagina php.... in questa pagina si possono effettuare delle scelte e cliccando su salva deve essere eseguito uno script php ma senza uscire dalla pagina.
ho fatto tutto tranne appunto la parte di esecuzione dello script per non far uscire dalla pagina...
provo a spiegarmi con delle immagini.

all'apertura la pagina si presenta così
1.jpg

alla valorizzazione delle 2 tendine, tramite ajax, viene richiamata la pagina php
2.jpg

seleziono/deseleziono le spunte e clicco su salva... qui interviene uno script php, a cui passo un array con i valori delle spunte, che elimina/inserisce dei record in tabella.
al momento funziona e mi appare la seguente schermata, che poi mi indirizza di nuovo alla prima schermata...
3.jpg

quello che invece vorrei fare è di restare sulla seconda schermata, con magari un qualcosa che dica salvataggio eseguito.

grazie per l'aiuto.
 

crashall

Nuovo Utente
29 Ott 2014
14
0
0
ho cercato di inserirti solo un esempio necessario per avere un menù a tendina che fa apparire una pagina sotto come nel mio caso

HTML:
<script type="text/javascript">
	var xmlhttp;
	function mostraInfo(str,anno)
	{
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Browser does not support HTTP Request");
			return;
		}
		var url="pagina_da_caricare.php";
		xmlhttp.onreadystatechange=stateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}

	function stateChanged()
	{
		if (xmlhttp.readyState==4)
		{
			document.getElementById("info").innerHTML=xmlhttp.responseText;
		}
	}

	function GetXmlHttpObject()
	{
		if (window.XMLHttpRequest)
		{
			return new XMLHttpRequest();
		}
		return null;
	}
</script>

<?php
	$q_pers= "SELECT p.id,p.cognome, p.nome  
                         FROM persone
		   ORDER BY cognome";
?>
<form>
	Iscritto:
    <select name="persona" id="persona" onChange="mostraInfo(persona.value,anno.value)">
		<option value="0">Scegli...</option>
	<?php
		$q = $db->prepare($q_pers);
		$q->execute();
		$q->setFetchMode(PDO::FETCH_ASSOC);
		while($row = $q->fetch()) { 
			echo "<option value='$row[id]'>$row[cognome] $row[nome]</option>";
		}
	?>	
	</select>
</form>
<br />
<div id="info"></div>
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
ho cercato di inserirti solo un esempio necessario per avere un menù a tendina che fa apparire una pagina sotto come nel mio caso

HTML:
<script type="text/javascript">
var xmlhttp;
function mostraInfo(str,anno)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="pagina_da_caricare.php";
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("info").innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
return new XMLHttpRequest();
}
return null;
}
</script>

<?php
$q_pers= "SELECT p.id,p.cognome, p.nome  
                         FROM persone
   ORDER BY cognome";
?>
<form>
Iscritto:
    <select name="persona" id="persona" onChange="mostraInfo(persona.value,anno.value)">
<option value="0">Scegli...</option>
<?php
$q = $db->prepare($q_pers);
$q->execute();
$q->setFetchMode(PDO::FETCH_ASSOC);
while($row = $q->fetch()) { 
echo "<option value='$row[id]'>$row[cognome] $row[nome]</option>";
}
?>
</select>
</form>
<br />
<div id="info"></div>
Ottimo grazie. Fammi sapere se risolvi con i link che ti ho postato.
 

marino51

Utente Attivo
28 Feb 2013
3.050
193
63
Lombardia
puoi usare la stessa tecnica che hai usato per caricare la pagina,
crei l'url come se lo scrivessi nella barra di navigazione del browser,
PHP:
var xURL = "script.php?id1="+valore1+"&id2="+valore2+"&id3="+valore3+"&id4="+valore4
definisci lo script come ti interessa, per esempio
PHP:
<?php
include_once ......;
$opt = new ......;
if(empty($_GET)) $risposta = "0";
else
{
  extract($_GET, EXTR_OVERWRITE);

  qui esegui quello che ti serve con tutte le variabili che sono restituite dall'istruzione precedente';

  $data = $opt->risultato dal database;

  $risposta = ......
}
echo $risposta;
?>
la risposta la usi nel form, attento solo a verificare come ti arriva la risposta
per esperienza, comportamento differente tra piattaforma apache e IIS di conseguenza altri browser verso IE
se vuoi un consiglio, echo lo cambi in,
PHP:
echo "#mytag#".$risposta."#/mytag#";
poi nel js quando ricevi la risposta, la gestisci con
PHP:
var n1 = 7 + risposta.indexOf("#mytag#");
var n2 = risposta.indexOf("#/mytag#");
risposta = risposta.substring(n1, n2);
ma fai delle prove e verifica con debugger

spero di aver interpretato bene il tuo pensiero
ciao
Marino
 
Ultima modifica:

crashall

Nuovo Utente
29 Ott 2014
14
0
0
ho risolto!
solo che ora ragazzi ho un grande problema...
esempio:
io ho la pagina "page1" con un bottone SALVA che tramite script ajax esegue una pagina php e memorizza dei dati nel DB e fin qui tutto ok.
ma se io la "page1" non la apro direttamente ma viene richiamata da uno script ajax della "page0" non mi viene più eseguito il "SALVA".

sapete darmi un aiuto??
 

crashall

Nuovo Utente
29 Ott 2014
14
0
0
essendo che le mie pagine sono un pò complesse perchè contengono più sezioni ho ricreato un esempio base per far capire il funzionamento.

page0.php... è la pagina che da un menù a tendina ti fa apparire una pagina php
Codice:
<form action="" method="post">
	Persona:
    <select name="persona" id="persona" class="persona">
		<option value="0">Pippo</option>
		<option value="0">Paperino</option>
	</select>
</form>
<script type="text/javascript">
	$(document).ready(function() {
		$('select.anno').change(function(){
			$.ajax({
					type: 'POST',
					url: 'page1.php',
					data: {idper: $('select.persona').val()},
					dataType: 'html',
					success: function(msg)
					{$("#info").html(msg);},
					error: function()
					{alert("Chiamata fallita, si prega di riprovare...");}
			});
		});
	});
</script>


page1.php ... è la pagina che ti fa selezionare vari corsi e cliccando su salva richiama una pagina php che inserisce a DB, il tutto tramite Ajax per evitare aggiornamenti della pagina
Codice:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<form id="corsi" action="#">
<input name="corsi[]" type="checkbox" value=1>Italiano<br>
<input name="corsi[]" type="checkbox" value=2>Storia<br>
<input name="corsi[]" type="checkbox" value=2>Matematica<br>
<input id="salva" type="button" value="Salva" />
</form>
<script>
    $("#salva").click(function(){
		var dati = $("#sel-corsi").serialize();		
		$.ajax({
			type: "POST",
			url: "page2.php",
			data: dati+"&idper=<?php echo $_POST['idper'] ?>",
			dataType: "html",
			success: function(msg)
			{alert("Salvataggio eseguito correttamente");},
			error: function()
			{alert("Chiamata fallita, si prega di riprovare...");}
		});
	});
</script>


page2.php ... è la pagina con il codice PHP per inserire dati a DB


spero che l'esempio sia utile :fonzie:
 
Discussioni simili
Autore Titolo Forum Risposte Data
D Inserimento video mp4 HTML e CSS 0
L inserimento form dati multipli ? PHP 0
G Appicazione HTML per inserimento dai in Database Access Microsoft HTML e CSS 0
J Form inserimento dati in database Ajax 1
D modificare questo codice per inserimento in text e non in tabella jQuery 1
R [C#] Automatizzare un inserimento di un Post su un Gruppo Facebook .NET Framework 0
M Aiuto con inserimento immagini WordPress 6
elpirata Impedire inserimento data di oggi e date passate jQuery 39
A Inserimento dati nel database tramite form + altre operazioni PHP 18
W Email conferma inserimento Classic ASP 0
S Inserimento multiplo non richiesto PHP 2
P inserimento icone social tramite html HTML e CSS 1
L form multipla php sql,errore in inserimento MySQL 0
Alex_70 Inserimento dati a cascata PHP 204
T Da xsd a xml ed inserimento dati in excel XML 0
M Problema inserimento parole con apostrofo nel db PHP 5
C [RISOLTO]Inserimento variabile php in input html PHP 20
P Access Inserimento data. MS Access 4
L Inserimento dettagli in una maglia Photoshop 2
S [PHP] email con inserimento dati nel database PHP 23
beatle [Photoshop] problema inserimento immagini Photoshop 1
G [Javascript] Errore inserimento dati Backend Node.js e workbench Javascript 1
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
C [PHP] Form inserimento più menù a discesa PHP 9
M [PHP] Problemi su inserimento array nel db PHP 7
gandalf1959 [PHP] Inserimento di più righe non funziona come mi aspetto... PHP 2
E Inserimento dati da PHP in tabella MySQL PHP 5
E Form inserimento dati con JavaScript Javascript 0
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
G inserimento csv in tabella mysql; problema con struttura PHP 11
M [Joomla] Inserimento wow.js in template Joomla 4
K [PHP] Inserimento dati database con postgres PHP 2
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
A [PHP] Inserimento url dinamici in pagina html PHP 3
spider81man [PHP] Alert Box per confermare Inserimento o Cancellazione dato. PHP 4
gandalf1959 [MySQL] Inserimento multiplo da form multirighe MySQL 22
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
M Inserimento dati checkbox multipli in db da ajax a php PHP 1
S [PHP] inserimento su DB da tabella PHP 29
P [PHP] Problema inserimento nuove chiavi in array PHP 2
paloppa Inserimento data su database MYSQL PHP 2
webimage [PHP] Non inserimento in tabella PHP 19
N [Java] codice per inserimento sql Java 0
T [HTML] inserimento nav HTML e CSS 8
G [HTML] Problemi con inserimento immagini HTML e CSS 7
C [HTML] Inserimento feed/rss di Mr.Webmaster sul proprio sito HTML e CSS 1
M Inserimento Array prelevato da Database in Php in un altra tabella mysql PHP 0
M [PHP] Controllo inserimento in tempo reale PHP 0
T [PHP] modulo inserimento in DB e apostrofi... PHP 1

Discussioni simili