Verificare numar in Nume in SQL
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
giulian9
- Mesaje:44
Verificare numar in Nume in SQL
Salut , am urmatorul cod :
Cod: Selectaţi tot
$v=1;
$text_knr = "Client-".$nrclient."-".$v;
$caut = "SELECT NrClient FROM `Lager` WHERE NrClient Like '$text_knr'";
$gasit = mysqli_query($conn,$caut);
$count = mysqli_num_rows($gasit);
if ( $count > 0 ) {
while ($row = $gasit->fetch_assoc()) {
if ($row['NrClient '] == $text_knr ) {
$v++;
$j=sprintf("%02d",$v);
$knr_last = "Client-".$nrclient."-".$v;
}
}
}
else {
$knr_last = $text_knr;
}
Resultat : Daca nu am nici o inregistrare imi insereaza/afiseaza : Client-NrClient-1
.... INSERT
Problema care o am e ca atunci cand inregistrarea e deja acolo: Client-NrClient-1 conform scriptului de mai sus imi creste valoarea $v respectiv Client-NrClient-2. Insa cam aici ramane pentru ca nu stiu cum sa pun astea intr-o bucla
sa intreb daca inregistrarea e deja sa creasta contorul. De ex daca am Client-NrClient-10 sa vada ca e deja in baza de date si sa creasca valoarea,eventual daca o pozitie e libera sa adauge acolo.
Momentan ma chinui cu o bucla do while care nu vrea sa dea rezultate ....
Multumesc .
MarPlo
Mesaje:4343
Salut,
Incearca verificarea if() cu
preg_match(), ca in urmatorul exemplu:
Cod: Selectaţi tot
$nrclient = 'NrClient';
$row['NrClient'] = 'Client-'.$nrclient.'-9';
if(preg_match('/Client-'.$nrclient.'-([0-9]+)/', $row['NrClient'], $mt)){
$v =$mt[1];
var_dump($v); // 9
//Restul codului...
}
giulian9
Mesaje:44
Salut , metoda propusa de tine nu am reusit sa o fac sa functioneze asa cum trebuia. Prezint mai jos, solutia gasita, exact acea bucla do while:
Cod: Selectaţi tot
function id_client($input_data) {
$v=1;
do {
$text_knr = "Client-" . $nrclient . "_" . $v;
$sql = "Select Id from Lager where User = $text_knr ";
$result = mysqli_query($intreaba,$sql);
$row = mysqli_fetch_assoc($result) ; // eventual calculare row (mysqli_num-rows ) => $row > 1
$v++;
} while ($row > 0)
return $text_knr ;
}
Subiecte similare
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML
Primul mesaj
Bună Marplo
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Ultimul mesaj
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc