Joomla.it Forum

Componenti per Joomla! => Gestione Form => : Valgo54 30 Mar 2018, 19:21:21

: Cronoconnectivity5- rimuovi record
: Valgo54 30 Mar 2018, 19:21:21
Buongiorno
Uitilizzo cronoconnetivity 5 , ho la lista dei miei records e vorrei poterli rimuoverne
con un preavviso e un controllo che l'utente si cancelli il suo record ( al momento è un record per utente) . 
Nella "conditions list" ho
:
_SELECTOR_
Model.user_id:User
Model.nome:Nome
Model.record.cognome:Cognome
_DELETE_:cancella
Se clicco cancella mi elimina in maniera diretta il record , come possibile attivare un messaggio di 
previa conferma prima di rimuovere il record? In “Front list” ho le sezioni “view linkable” e “edit linkable” che
si riescono a indirizzare in qualche modo ma per la delete? .Mi sono creato anche una action “cancella”
ma al click non si attiva e il record viene eliminato senza preavviso.
Anche il pulsante _TOOLBAR_DELETE funziona allo stesso modo.
Qualche dritta qualche tutorial di aiuto da seguire ?
Grazie mille

: Re:Cronoconnectivity5- rimuovi record
: Valgo54 06 Apr 2018, 17:12:36
Buongiorno
con questa

:
<?php
$user 
JFactory::getUser();
return array(
'Model.user_id' => $user->id);
?>
riesco a estrarre il record dell'utente loggato. Riesco a rimuoverne il record.Prima di farlo vorrei fare comparire un messaggio di conferma alla rimozione.
Qualche dritta/idea?
Grazie
 
: Re:Cronoconnectivity5- rimuovi record
: tomtomeight 06 Apr 2018, 17:59:51
Prima di postare vedi l'anteprima, così ti accorgi di eventuale errata formattazione. Ho coorretto per far capire meglio
: Re:Cronoconnectivity5- rimuovi record
: vales 10 Apr 2018, 16:19:05
Ho l'impressione che dai record mostrati automaticamente da chronoconnectivity sia un problema inserire il controllo che proponi.

Forse dovresti dalla riga del record con un link mostrare il record in un form e inserire li la richiesta di conferma o no, se confermato il form procedere in setup del form a inserire codice per la rimozione del record.
: Re:Cronoconnectivity5- rimuovi record
: Valgo54 11 Apr 2018, 08:38:25
Ciao Vales,
per richiamare e mostrare il record in un altro form hai qualche link/tutorial da passarmi?
Grazie

: Re:Cronoconnectivity5- rimuovi record
: Valgo54 14 Apr 2018, 07:35:15
Ciao
tra i vari ho provato questo che viene richiamato cliccando su delete nella front list
:

model_name.delete:[ <a href='/index.php?option=com_chronoforms5&chronoform=form_name
&event=load&user_id={model_name.user_id}' >Delete</a> ][code]
ma la form non si apre. Oltre ad attivare la form devo passare il parametro user_id.
Un aiuto... :(
Grazie

: Re:Cronoconnectivity5- rimuovi record
: vales 15 Apr 2018, 10:54:17
In front list-setting usa php functions così

:
model.delete:return '<a href="'.JRoute::_('index.php?option=com_chronoforms5&amp;chronoform=form_da_chiamare&amp;gcb='.$row['model']['id']).'">Delete</a>';
il form da richiamare dovrà avere un db read dove filtra sul valore del record richiamato con il parametro gcb, che ritroverai nel form nell'elemento $form->data['gcb'] poi nel form, dopo conferma, in setup potrai rimuovere con php il record oppure settare il campo delete in modo opportuno. Dipende dalle tue preferenze.

: Re:Cronoconnectivity5- rimuovi record
: Valgo54 16 Apr 2018, 21:22:47
Ciao Vales,
sono riuscito a richiamare da CCV5 il form CF5 di conferma cancellazione record.Il form , che ha un button "Rimuovi record",  visualizza il record da cancellare. Sto cercando il codice php per richiesta conferma, per questo serve javascript?, e cancellazione.
Mi puoi dare qualche indicazione.
Grazie
 
: Re:Cronoconnectivity5- rimuovi record
: Valgo54 21 Apr 2018, 18:07:34

Ciao, piccolo passo avanti..
nella impostazione  del codice php di rimozione record la 1a riga è ok.Non trovo come a impostare la stringa di connessione al db ( credenziali utente root no password).
Qualche dritta...
grazie
:
$query = "DELETE from test_del WHERE user_id ='$user_id' ";
$ccv5 = " mysql:host=localhost;dbname=dbname" + ", root" + ",''";

: Re:Cronoconnectivity5- rimuovi record
: vales 24 Apr 2018, 08:54:49
Joomla ha delle proprie risorse per gestire il database, le cosidette API di joomla.

Qui trovi alcuni esempi di uso che rendono tutto più semplice.

https://docs.joomla.org/Accessing_the_database_using_JDatabase (https://docs.joomla.org/Accessing_the_database_using_JDatabase)

https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase (https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase)
: Re:Cronoconnectivity5- rimuovi record
: Valgo54 25 Apr 2018, 21:17:11
Ok,Grazie
Ciao
: Re:Cronoconnectivity5- rimuovi record
: Valgo54 03 May 2018, 17:41:56


Ciao,
questo codice sembra ok, la connessione è corretta e anche la stringa sql, ma sulla delete mi dà:
"Error deleting record: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1". Ho provato altre sintassi ma da sempre questo errore.( Line 1non è chiaro...).
Qualche dritta?
Grazie mille
:
<?php
$servername 
"localhost";
$username "root";
$password "";
$dbname "dbname";
$conn = new mysqli($servername$username$password$dbname);
if (
$conn->connect_error) {
    die(
"Connection failed: " $conn->connect_error);

// sql to delete a record
$sql "DELETE FROM table_name WHERE user_id = $user_id";
if (
$conn->query($sql) === TRUE) {
    echo 
"Record deleted successfully";
} else {
    echo 
"Error deleting record: " $conn->error;
}
$conn->close();
?>




: Re:Cronoconnectivity5- rimuovi record
: vales 04 May 2018, 18:39:04
a occhio mi sembra che non è definita la variabile $user_id
: Re:Cronoconnectivity5- rimuovi record
: Valgo54 06 May 2018, 09:52:17
Ciao Vales,
mi sono perso una istruzione quando ho trascritto il post...

Il codice php sembra ok, la connessione è corretta e anche la stringa sql, ma sulla delete mi dà:
"Error deleting record: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1". Ho provato altre sintassi ma da sempre questo errore.
Se faccio un echo della istruzione sql è ok: sql=DELETE FROM table_name WHERE user_id = 1( Il campo user_id è un  int)
Codice completo:
[/size]
:

<?php
$servername 
"localhost";
$username "root";
$password "";
$dbname "dbname";
$user_id '{user_id}';
$conn = new mysqli($servername$username$password$dbname);
if (
$conn->connect_error) {
    die(
"Connection failed: " $conn->connect_error);

// sql to delete a record
$sql "DELETE FROM table_name WHERE user_id = $user_id";
if (
$conn->query($sql) === TRUE) {
    echo 
"Record deleted successfully";
} else {
    echo 
"Error deleting record: " $conn->error;
}
$conn->close();
?>

Grazie
: Re:Cronoconnectivity5- rimuovi record
: Valgo54 12 May 2018, 17:35:08
Ciao Vales,
non riesco a trovare l'istruzione SQL corretta da utilizzare nella form CF5 per poter eliminare ,a richiesta, un record.
L'istruzione funzionante è la 1° utilizzando direttamente l'id da cancellare.Per le altre alcune danno "syntax error" altre non riportano errori ma il record non viene cancellato.
Non riesco a capire se il codice PHP , valido in altri contesti, che sto utilizzando è corretto o se con Joomla occorre utilizzare PHP con modalità diverse. 
Grazie per un consiglio.
:

$sql = "DELETE FROM table_name WHERE user_id = 1";
$sql = "DELETE FROM table_name WHERE user_id =  $user_id " ;
$sql = "DELETE FROM table_name WHERE user_id = ‘$user_id ‘";
$sql = "DELETE FROM table_name WHERE user_id = " . $user_id .";
$sql = "DELETE FROM table_name WHERE user_id = " . $user_id ";
$sql = "DELETE FROM table_name WHERE user_id = " {$user_id}' ";