[PHP] Visualizzare record nel db

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Salve, in fase di inserimento record con il codice che allego, verifico se il record che sto inserendo è presente nel DB, nel caso invece di fare l'insert mostro il messaggio "Attenzione, la combinazione digitata...risulta in archivio!", mi piacerebbe a questo punto poter recuperare l'id del record in modo che sia cliccabile per visualizzarlo lanciando la pagina di edit.php.
PHP:
require 'Connessione.php';

<?php
//CODICE PER VEDERE SE  SONO GIA' CARICATI
    $Control = mysql_query("SELECT armadio, piano, faldone FROM tblarchiviolegale WHERE armadio = '$armadio' and piano = '$piano' and faldone = '$faldone'");
if(mysql_num_rows($Control)) {

<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attenzione, la combinazione digitata risulta in archivio! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input style=\"color:blue\" type=\"button\" value=\"   Back   \" onclick=\"history.go(-1);return true;\"></left>";
echo "<br><br><span style=\"color:blue\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span style=\"color:red; font-size: 14pt\">Attenzione, la combinazione digitata: <span style=\"color:blue\"><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Armadio: ". $armadio ."<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Piano:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ". $piano ."<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Faldone: ". $faldone ."</span><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
risulta in archivio!</span><span style=\"color:red; font-size: 14pt\"></span> <input style=\"color:blue\" type=\"button\" value=\"   Back   \" onclick=\"history.go(-1);return true;\"></left>";
Con la speranza di essermi spiegato...chiedo se è fattibile
Grazie
Max61
 
Ultima modifica:
Ciao,
Se ho capito quello che vuoi realizzare, è scritto nei due metodi sottostanti ( ovviamente cambia i valori che vuoi inserire nella tua query, inoltre il codice è stato scritto in poco tempo quindi non è assolutamente sicuro - tocca a te modificare il codice per prevenire attacchi di tipo sql injection - ).

Essenzialmente, ci sono due metodi, il primo che viene richiamato controllaEsistenzaValore ( come stesso dice il nome ) verifica se il valore passato risulta esser presente all'interno della tua tabella, se questo è presente viene mostrato un messaggio che avvisa che tale valore è presente.
Inoltre è stato inserito un link con all'interno il valore ricercato in modo da poter lavorare sulla pagina 'paginaEdit.php' ( in questo modo credo che sia la soluzione che cercavi al problema posto )
In caso in cui tuttavia non sia presente il valore ricercato si procede a richiamare il metodo inserisciValore il quale inserisce il valore all'interno della tua tabella.

PHP:
<?php

public function controllaEsistenzaValore($valore){
    $query = "SELECT ID,valore FROM prova WHERE valore='$valore'";
    $esito = $this->connessione->query($query);
    if ( $esito->num_rows == 1 ){
      while ( $riga = $esito->fetch_assoc() ){
        echo "Attenzione il valore che hai inserito risulta esser gia presente con ID: <a href='paginaEDIT.php?id={$riga['ID']}'>{$riga['ID']}</a>";
      }
    }
    else{
      $this->inserisciValore($valore);
    }
  }

public function inserisciValore($valore){
    $query = "INSERT INTO prova (valore) VALUES ('$valore')";
    $esito = $this->connessione->query($query);
    if ( !$esito ){
      echo "Errore inserimento";
      exit;
    }
  }

//richiamo il metodo controllaEsistenzaValore
$db->controllaEsistenzaValore('3');
?>

All'interno della pagina 'paginaEdit.php' avrai


<?php

$id = $_GET['id'];
echo $id;


?>


dove, verrà richiamato un altro metodo che prelevando tale valore procede a stampare tutti i campi richiesti.

N.b. ovviamente l'utilizzo di get può esser sostituito ed è consigliabile sostituirlo.
Il codice ripeto è stato scritto in maniera veloce ma dovrebbe funzionare.

P.S. Utilizza mysqli o PDO per interrogare un db

Spero che questo post sia stato d'aiuto :)
 
Ultima modifica di un moderatore:
Grazie per la risposta, ma ho fatto così e funziona:
PHP:
require 'Connessione.php';

// VERIFICA DOPPIO NEL DB//
$sql = "select id from tblarchiviolegale WHERE armadio = '$armadio' and piano = '$piano' and faldone = '$faldone'";

$query = mysql_query($sql);

// Se ho trovato dei dati doppi...
if (mysql_num_rows($query) != 0){

// Creo un ciclo for
for($x = 0; $x < mysql_num_rows($query); $x++){

// Stampo i risultato trovati
$row1 = mysql_fetch_row($query);

} echo '<p>
        <a href="Edit_StepLavoro.php?id=' .$row1[0]. '">Visualizza record</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </p>
        <hr />';

Ciao
Max61
 

Discussioni simili