MRW.it Forum
  • Home
  • Forum
  • Fare Web
  • PHP

selezionare record database con checkbox

  • Creatore Discussione Creatore Discussione nephilim89
  • Data di inizio Data di inizio 24 Mar 2010
N

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
  • 24 Mar 2010
  • #1
Ciao! ho cercato qualche guida ma non mi ha aiutato niente.avete presente la gestione sezioni di joomla?? bene,sto cercando di fare una cosa simile ma ho dei problemi.

nella mia pagina, in alto è inclusa una "toolbar.php" che permette la navigazione,che nn funziona con pagine,ma con funzioni :
PHP:
if( isset( $_GET['action'] ) )
{
   switch( $_GET['action'] )
   {
        case 'list':
        default:
            lista();
        break;

        case 'delete':
             delete();
        break;

   }
}
cioè a seconda di ciò che viene cliccato richiama una funzione diversa dal file function.php:
PHP:
function lista()
{
    $query="SELECT * FROM sezioni";
    if($r=mysql_query($query))
    {
        echo '<table border="0" width="100%">
        <tr bgcolor="#ADD8E6">
        <td width="30"></td>
        <td>Nome</td>
        <td>ID</td>';
        while($array = mysql_fetch_array($r))
        {
            echo '<tr bgcolor="#E0FFFF">
            <td>
problema--><form action="index.php?page=gestsez&action=delete" method="post">
            <input type="checkbox" name="check" value=???></form>
            </td>
            <td><a href="index.php?page=articoli&id='.$array['IDsezione'].'">'.$array['Nome'].'</a></td>
            <td>'.$array['IDsezione'].'</td></tr>';
        }
        echo '</table>';
        mysql_free_result($r);
    }
    else echo mysql_error();
}

function delete()
{
$querydelete="DELETE FROM `sezioni` WHERE `IDsezione` = "valore del checkbox" ";
$delete=mysql_query($querydelete);
echo "delete";
}
in pratica la funzione lista() crea una tabella che contiene tutti i campi dalla tabella "sezioni" del db,e accanto a ogni sezione una checkbox.questa funzione funziona XD bene.
però come faccio,partendo da questa lista,a selezionare un determinato record su cui usare la funzione delete()?
un altra domanda:nella navigazione non funziona il default,sapete perchè??
grazie
 
borgo italia

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 24 Mar 2010
  • #2
ciao
se ti interessa eliminare un particolare record, secondo me, devi mettere al posto di ???

......
<input type="checkbox" name="check" value=???></form>
......

<input type="checkbox" name="check" value="$array['ID_del_record']"></form>

però non vedo l'istruzione pr leggerlo (tipo)
$da_deletare=$_POST['check']
 
N

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
  • 25 Mar 2010
  • #3
ciao! $_POST['check'] dovrebbe essumere il valore della riga nel momento in cui ci clicchi sopra e resta il segna di spunta.non c'è un input di tipo submit per inviare i valori
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Mar 2010
  • #4
ciao
...$_POST['check'] dovrebbe essumere il valore della riga...
Clicca per allargare...
non è quello che intendevo, ma se poi non lo leggi tale valore, come fa la funzione a "sapere" cosa devi eliminare?

con molta probabilità devi mettere

$querydelete="DELETE FROM sezioni WHERE IDsezione = '".$_POST['check']."'";


dimenticavo
con tutti quuei GET senza alcun controllo rischi iniezioni malevole
 
N

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
  • 25 Mar 2010
  • #5
guarda ho messo $array['IDsezione'] nel value del checkbox e la query come mi hai detto. ma quando eseguo mi dice che l'indice $_POST['check'] non è definito.
ho provato anche a assegnare il valore di $array['IDsezione'] a una variabile,e mettere questa variabile in value dei checkbox.

funziona solo se aggiungo un pulsante di tipo submit e nella funzione controllo la pressione di tale pulsante.cosi funziona.altrimenti nada!
come fare?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Mar 2010
  • #6
ciao
fai una prova (senza il tasto submit) per vedere se $_POST['check'] viene trasmesso mettendo

PHP:
if( isset( $_GET['action'] ) ) 
{ 
   var_dump($_POST['check']);
   switch( $_GET['action'] ) 
   { 
//eccetera.......

se ti da null vuol dire che non viene trasmesso e allora si deve cercare il perche, se invece ti da il valore giusto si deve capire perche non entra nella funzione, so che le variabili interne ad una funzione non si possono leggere all'esterno, ma non mi ricordo se vale anche il contrario
intanto fai questa prova e poi sappi dire
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Mar 2010
  • #7
ciao
scusa dimenticavo: non avendo messo messo il pulsante di submit hai messo uno script js che alla selezione del checkbox ti invii il form?
perche se non c'è qualcosa che invia, puoi solo divertirti a selezionare i check
 
N

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
  • 25 Mar 2010
  • #8
borgo italia ha scritto:
ciao
scusa dimenticavo: non avendo messo messo il pulsante di submit hai messo uno script js che alla selezione del checkbox ti invii il form?
perche se non c'è qualcosa che invia, puoi solo divertirti a selezionare i check
Clicca per allargare...

ciao,alla fine è solo questo il problema. ho scoperto ora che si può fare solo col javascript. se clicco invia il form. da quello che ho letto dovrebbe essere:
PHP:
<input type="checkbox" name="checkbox" onclick="document.nomeform.submit();" value="$array['IDsezione']">
ma ovviamente non funziona
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Mar 2010
  • #9
ciao
ti invio schematicamente come faccio io, solo che al posto della chekbox ho una select

PHP:
<script type="text/javascript">
<!--
function SelectPost()
{
	document.modulo.method="post";
	document.modulo.action="index.php?page=gestsez&action=delete";
	document.modulo.target="_parent";
	document.modulo.submit();
}
-->
</script>

<?php
//eccetera.....
echo "<form  name=\"modulo\">";//intanto terrei il tag form fuori dal while
while($array = mysql_fetch_array($r)){ 
	echo "<input type=\"checkbox\" name=\"check\" onChange=\"SelectPost()\" value=\"".$array['ID_del_record']."\"></>"
}//fine while
echo "</form>";
//eccetera......
?>

prova ad adattarla e vedere se ti funzia
 
N

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
  • 25 Mar 2010
  • #10
aaah!! ci siamo quasi!!
cosi funziona! però mi esegue la funzione delete solamente spuntando il checkbox,quindi con un click elimina.
invece con il checkform checkato, dovrebbe assumerne il valore da gestire poi nella funzione in un secondo momento.cosi:
[/URL][/IMG]

ti ringrazio per la pazienza!0
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Mar 2010
  • #11
ciao
ma allora hai un pulsante di submit?
se prima selezioni e poi devi premere il pulsante con la X, il pulsante con la x rappresenta un submit?
dimenticavo: in questo caso se prima selezioni e poi premi X per cancellare, puoi selezionare più checkbox, allaora il nome dei check deve diventare diverso l'uno dall'alatro
 
Ultima modifica: 25 Mar 2010
N

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
  • 25 Mar 2010
  • #12
se prima selezioni e poi devi premere il pulsante con la X, il pulsante con la x rappresenta un submit?
Clicca per allargare...
in effetti dovrebbe essere cosi,ma il pulsante con la x è una semplice immagine.che per di più è inclusa da un altro file.
il tutto è strutturato cosi:
-gestsezioni.php è il file principale che switcha le funzioni,
-le funzioni sono contenute in function.php
-e i link su cui fare lo switch sono in toolbar.php,la barra che vedi con le immagini (tra cui la X)

Quindi dovrei avere il form con i checkbox da una parte,e il submit(immagine X) in un altro file.se si può fare cosi abbiamo risolto!

per il submit con immagine basta fare <input type="image" src="url"> , ma per dividere il form in 2 file diversi?
se proprio non si può fare cerco di unire tutto in un file
 
Ultima modifica: 25 Mar 2010

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 26 Mar 2010
  • #13
ciao
non credo che si possa dividere, il pulsante di submit deve essere dentro i tag form.
invece per mettere l'mmagine nel subimt non ci sono problemi
provo a pensarci, poi ti informo
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

[SQL] Selezionare righe database in base ad il record maggiore per ogni id
  • Federico B.
  • 29 Set 2009
  • Database
Risposte
0
Visite
4K
Database 29 Set 2009
Federico B.
S
Selezionare ultimo record di una sotto query
  • stefanoxjx
  • 19 Giu 2021
  • MySQL
  • 2
Risposte
27
Visite
5K
MySQL 28 Gen 2022
Webeiem
W
M
Selezionare un record da una tabella continua
  • miguel60
  • 2 Feb 2015
  • MS Access
Risposte
0
Visite
2K
MS Access 2 Feb 2015
miguel60
M
B
Selezionare un'immagine e salvare la selezione
  • biasutti
  • 12 Apr 2022
  • Photoshop
Risposte
3
Visite
2K
Photoshop 13 Apr 2022
WmbertSea
M
Come selezionare e deselezionare radiobutton con jquery
  • migo80
  • 9 Giu 2021
  • jQuery
Risposte
1
Visite
3K
jQuery 9 Giu 2021
migo80
M
Y
  • Bloccata
Vorrei selezionare un colore di sfondo per una pagina web
  • ymod
  • 14 Dic 2020
  • Javascript
Risposte
0
Visite
1K
Javascript 14 Dic 2020
ymod
Y
S
Upload file senza doverlo selezionare
  • samurai.sette
  • 29 Mag 2020
  • PHP
Risposte
2
Visite
1K
PHP 5 Feb 2021
mecoman
M
S
Selezionare e deselezionare checkbox
  • samurai.sette
  • 1 Gen 2020
  • Javascript
Risposte
0
Visite
2K
Javascript 1 Gen 2020
samurai.sette
S
M
[PHP] Selezionare immagini directory non presenti in db
  • miagy
  • 12 Apr 2019
  • PHP
Risposte
11
Visite
2K
PHP 19 Apr 2019
miagy
M
S
[PHP] selezionare colonna tabella utilizzando un array
  • samurai.sette
  • 23 Dic 2018
  • PHP
Risposte
1
Visite
1K
PHP 27 Dic 2018
macus_adi
S
[PHP] Selezionare i campi non in comune con le altre colonne della tabella
  • samurai.sette
  • 6 Dic 2018
  • PHP
Risposte
4
Visite
1K
PHP 7 Dic 2018
samurai.sette
S
L
[PHP] CHECKBOX DA SELEZIONARE IN UNA TABELLA
  • LPas
  • 18 Giu 2018
  • PHP
Risposte
4
Visite
4K
PHP 19 Giu 2018
zorro
S
[PHP] selezionare colonne in comune con un altra tabella
  • samurai.sette
  • 4 Apr 2018
  • PHP
Risposte
5
Visite
2K
PHP 5 Apr 2018
marino51
T
selezionare terza colonna della relatica row
  • TeoDigital
  • 9 Feb 2018
  • Database
Risposte
2
Visite
1K
Database 9 Feb 2018
borgo italia
G
[Javascript] Selezionare una checkbox in maniera condizionata
  • gm_marco
  • 22 Set 2017
  • Javascript
Risposte
5
Visite
4K
Javascript 22 Set 2017
mtt
M
G
[PHP] Selezionare OGGI anno precedente per query sql
  • Giangillo
  • 22 Ago 2017
  • PHP
Risposte
2
Visite
1K
PHP 23 Ago 2017
Giangillo
G
A
[RISOLTO] PHP Selezionare tutti i file con stessa estensione
  • Alex@1983
  • 18 Ago 2017
  • PHP
Risposte
2
Visite
2K
PHP 18 Ago 2017
Alex@1983
A
Selezionare singoli giorni su datepiker
  • otto9due
  • 11 Lug 2017
  • jQuery
Risposte
1
Visite
1K
jQuery 11 Lug 2017
otto9due
S
[PHP] Selezionare dati in intervallo di tempo
  • samurai.sette
  • 8 Lug 2017
  • PHP
  • 2
Risposte
21
Visite
5K
PHP 14 Lug 2017
samurai.sette
S
Selezionare un intervallo tra due date, php e mysql
  • gandalf1959
  • 25 Feb 2017
  • PHP
Risposte
2
Visite
3K
PHP 25 Feb 2017
gandalf1959
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?