if sempre vero per una classe

  • Creatore Discussione Creatore Discussione twogate
  • Data di inizio Data di inizio

twogate

Utente Attivo
30 Ago 2018
28
0
1
Buon giorno, mi sono creato un programma personale durante il covid con php e mysql ogni tanto mi diletto nel modifocarlo.
E' un programma di contabilita(registro fatture) , volevo creare uno script per impedire l'inserimento di fatture doppie, il programma e' diviso in un templare html un model di controllo e un file classe.
Creata la Classe SQL dell'esistenza del valore uguali nel database (select count) , nel model creo un if sulla classe > 0 ma mi da sempre true, non riesco a capire come dove sia l'errore
questa e' la classe
/ la classe per cercare i record gia' inseriti
public function cercaesistenti($value1,$value2){
$parameters=['value1'=>$value1,'value2'=>$value2];
$sql="SELECT count(*) AS mio FROM fatture WHERE idfor= :value1 and numero_fattura= :value2 ";
$sql = $this->queri($sql,$parameters);
return $sql->fetchAll();
}
questo e' lo script per l'inserimento e il controllo dell'esistenza
if(isset($_POST['regfat'])){
$forn= $_POST['idfor'];
$fattu= $_POST['numero_fattura'];
$import = $_POST['importo'];
$esistenti = $fattura->cercaesistenti($forn,$fatt);


var_dump($esistenti);

if ($esistenti > 0){
echo '<script type="text/javascript">
window.onload = function () { alert("record gia esistente"); }
</script>';
}
else {
$frt['idfat'] = $_POST['idfat'];
$frt['data'] = $_POST['data'];
$frt['numero_fattura'] = $_POST['numero_fattura'];
$frt['idfor'] = $_POST['idfor'];
$frt['importo'] = commasToDots($_POST['importo']);
$frt['idcat'] = $_POST['idcat'];
$frt['data_pag'] = $_POST['data_pag'];
$frt['assegno'] = $_POST['assegno']; ;

$fattura->save($frt) ;
}

}
questo e' la risposta del var_dump
array(1) { [0]=> array(2) { ["mio"]=> int(13) [0]=> int(13) } }
 
Il mio problema l'ho risolto , non mi serve contare quanti dati uguali ci sono, basta che c'e' ne sia 1 , però mi piacerebbe che qualcuno mi spieghi come si può fare se ci fosse un select count , perchè leggendo nel web c'è molta confusione
grazie
 
nello script ci sono due nomi diversi "$fattu" e "$fatt" mentre, credo, debbano essere uguali

$fattu= $_POST['numero_fattura'];

$esistenti = $fattura->cercaesistenti($forn,$fatt)

poi ci metterei anche l'anno del documento, molte aziende/partite iva, usano riprendere la numerazione da 1 al cambio anno
 

Discussioni simili