Autore Topic: Cronoconnectivity5- rimuovi record  (Letto 1032 volte)

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Cronoconnectivity5- rimuovi record
« il: 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
Codice: [Seleziona]
_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

« Ultima modifica: 06 Apr 2018, 17:57:18 da tomtomeight »

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #1 il: 06 Apr 2018, 17:12:36 »
Buongiorno
con questa

Codice: [Seleziona]
<?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
 
« Ultima modifica: 06 Apr 2018, 17:58:18 da tomtomeight »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 29008
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
    • Xataface Italia
Re:Cronoconnectivity5- rimuovi record
« Risposta #2 il: 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
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 7911
  • Sesso: Maschio
    • Mostra profilo
    • Test di Albo Pretorio On LIne e Moduli Scuola On Line per Joomla 3
Re:Cronoconnectivity5- rimuovi record
« Risposta #3 il: 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.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org/joomla3/

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #4 il: 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


Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #5 il: 14 Apr 2018, 07:35:15 »
Ciao
tra i vari ho provato questo che viene richiamato cliccando su delete nella front list
Codice: [Seleziona]

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


Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 7911
  • Sesso: Maschio
    • Mostra profilo
    • Test di Albo Pretorio On LIne e Moduli Scuola On Line per Joomla 3
Re:Cronoconnectivity5- rimuovi record
« Risposta #6 il: 15 Apr 2018, 10:54:17 »
In front list-setting usa php functions così

Codice: [Seleziona]
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.

Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org/joomla3/

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #7 il: 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
 

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #8 il: 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
Codice: [Seleziona]
$query = "DELETE from test_del WHERE user_id ='$user_id' ";
$ccv5 = " mysql:host=localhost;dbname=dbname" + ", root" + ",''";


Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 7911
  • Sesso: Maschio
    • Mostra profilo
    • Test di Albo Pretorio On LIne e Moduli Scuola On Line per Joomla 3
Re:Cronoconnectivity5- rimuovi record
« Risposta #9 il: 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/Inserting,_Updating_and_Removing_data_using_JDatabase
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org/joomla3/

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #10 il: 25 Apr 2018, 21:17:11 »
Ok,Grazie
Ciao

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #11 il: 03 Mag 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
Codice: [Seleziona]
<?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();
?>





Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 7911
  • Sesso: Maschio
    • Mostra profilo
    • Test di Albo Pretorio On LIne e Moduli Scuola On Line per Joomla 3
Re:Cronoconnectivity5- rimuovi record
« Risposta #12 il: 04 Mag 2018, 18:39:04 »
a occhio mi sembra che non è definita la variabile $user_id
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org/joomla3/

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #13 il: 06 Mag 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]
Codice: [Seleziona]

<?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

Offline Valgo54

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:Cronoconnectivity5- rimuovi record
« Risposta #14 il: 12 Mag 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.
Codice: [Seleziona]

$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}' ";








 

Torna su