Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 05:18

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



php columncount / überprüfung

Discussion on php columncount / überprüfung within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
Cc_Cc_Cc's Avatar
 
elite*gold: 200
Join Date: Mar 2011
Posts: 352
Received Thanks: 9
php columncount / überprüfung

Guten Tag.

hab ein kleines Problem. un zwar möchte ich Datensätze anzeigen lassen. Falls keiner gefunden wurde soll er mit einem exit erstmal sagen das keine gefunden wurde. Nur klappt es nicht.


Problem: Egal ob es den Datensatz gibt oder nicht er zeigt mir immer an: Es wurde kein Datensatz gefunden.
Cc_Cc_Cc is offline  
Old 06/24/2016, 21:29   #2
 
elite*gold: 0
Join Date: Apr 2015
Posts: 428
Received Thanks: 361
1. Hast du hier einen kleinen Überlegungsfehler:

PHP Code:
if(empty(trim($data))) { 
    
$error 'Das Feld darf nicht leer sein.'

elseif(
strlen($data) < 2) { 
    
$error 'Das Feld darf nicht kürzer als 2 Zeichen sein.'

elseif(
strlen($data) > 20) { 
    
$error 'Das Feld darf länger als 20 Zeichen sein.'

Sollte eigentlich...

PHP Code:
function str_trim($s) {
    
$l $i 0$n '';
    
    while (
$c $s[$i++])
 
    if (
        
$c !== ' ' &&
        
$c !== '\r' &&
        
$c !== '\n' &&
        
$c !== '\t' &&
        
$c !== '\f') { $n .= $c$l++ }
      
    return [
'string' => $n'length' => $l];
}

$data str_trim($data);

if (
$data['length'] === 0)
{
    
$error 'Das Feld darf nicht leer sein.'
}

elseif(
$data['length'] < 2

    
$error 'Das Feld darf nicht kürzer als 2 Zeichen sein.'
}

elseif(
$data['length'] > 20

    
$error 'Das Feld darf länger als 20 Zeichen sein.'
}

elseif(!
ctype_alpha($data['string']))

    
$error 'Bitte nur deutsche Buchstaben verwenden.'
}

//.. ect. 
sein, da ja ein Name im Name keine Leerzeichen enthalten darf und du so ebenfalls schneller prüfst, wobei beide nicht multi_byte safe sind

Und was du brauchst ist

PHP Code:
count($row) === 0
#Metho is offline  
Old 06/24/2016, 21:33   #3


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,118
Received Thanks: 2,435
Schau nochmal über dein Script, den du prüfst z.b. ob die Anzahl (count) GRÖßER ist (sprich wenn Einträge vorhanden sind) und machst dann ein exit mit "Es wurden keine Datensätze gefunden".Das macht schon einmal kein Sinn, dann würde ich mal behaupten ein exit dort zu benutzen ist naja.. nicht schön(hast doch schon eine error Variable ?).

Kleiner Tipp bzg. dem Bindvalue, mach im SQL kein ? sonder :firstname und beim bindvalue selber statt 1 dann 'firstname'.
Das ganze ist deutlich übersichtlicher wenn du nachher größere SQLs hast.

Quote:
Originally Posted by #Metho View Post
1. Hast du hier einen kleinen Überlegungsfehler:

PHP Code:
if(empty(trim($data))) { 
    
$error 'Das Feld darf nicht leer sein.'

elseif(
strlen($data) < 2) { 
    
$error 'Das Feld darf nicht kürzer als 2 Zeichen sein.'

elseif(
strlen($data) > 20) { 
    
$error 'Das Feld darf länger als 20 Zeichen sein.'

Sollte eigentlich...

PHP Code:
function str_trim($s) {
    
$l $i 0$n '';
    
    while (
$c $s[$i++])
 
    if (
        
$c !== ' ' &&
        
$c !== '\r' &&
        
$c !== '\n' &&
        
$c !== '\t' &&
        
$c !== '\f') { $n .= $c$l++ }
      
    return [
'string' => $n'length' => $l];
}

$data str_trim($data);

if (
$data['length'] === 0)
{
    
$error 'Das Feld darf nicht leer sein.'
}

elseif(
$data['length'] < 2

    
$error 'Das Feld darf nicht kürzer als 2 Zeichen sein.'
}

elseif(
$data['length'] > 20

    
$error 'Das Feld darf länger als 20 Zeichen sein.'
}

elseif(!
ctype_alpha($data['string']))

    
$error 'Bitte nur deutsche Buchstaben verwenden.'
}

//.. ect. 
sein, da ja ein Name im Name keine Leerzeichen enthalten darf und du so ebenfalls schneller prüfst, wobei beide nicht multi_byte safe sind

Und was du brauchst ist

PHP Code:
count($row) === 0
Leider bist du an einer falschen stelle, ließ sein Beitrag nochmal er redet vom COUNT und das ausgeben wird das keine Einträge vorhanden sind.
(was nicht heißt das dein Beitrag dennoch richtig sein kann)
False is offline  
Old 06/24/2016, 21:47   #4
 
elite*gold: 0
Join Date: Apr 2015
Posts: 428
Received Thanks: 361
Quote:
Originally Posted by .ƒaℓsє. View Post
Leider bist du an einer falschen stelle, ließ sein Beitrag nochmal er redet vom COUNT und das ausgeben wird das keine Einträge vorhanden sind.
(was nicht heißt das dein Beitrag dennoch richtig sein kann)
Ist schon richtig wie ich's gesagt habe, count() macht ja ebenfalls das, was er möchte

sonst kann er um noch schneller zu sein auf Falschheit prüfen

PHP Code:
if (!$row) { /* wenn keine Datensätze gefunden wurden  */ 
#Metho is offline  
Old 06/24/2016, 22:32   #5


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,118
Received Thanks: 2,435
Quote:
Originally Posted by #Metho View Post
Ist schon richtig wie ich's gesagt habe, count() macht ja ebenfalls das, was er möchte

sonst kann er um noch schneller zu sein auf Falschheit prüfen

PHP Code:
if (!$row) { /* wenn keine Datensätze gefunden wurden  */ 
Okay das ganz unten habe ich wohl übersehen
False is offline  
Old 06/26/2016, 19:21   #6
 
Cc_Cc_Cc's Avatar
 
elite*gold: 200
Join Date: Mar 2011
Posts: 352
Received Thanks: 9
Danke für die Funktion. So, problem besteht aber weiterhin. Obwohl ein Datensatz existiert sagt er mir das es keine gibt.

Cc_Cc_Cc is offline  
Old 06/26/2016, 19:35   #7


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,118
Received Thanks: 2,435
Quote:
Originally Posted by Cc_Cc_Cc View Post
Danke für die Funktion. So, problem besteht aber weiterhin. Obwohl ein Datensatz existiert sagt er mir das es keine gibt.

Nutzt du eigentlich eine vernünftige IDE oder nur Notepad o.ä. ?Eine normale Entwicklungsumgebung hätte dir den Fehler schon angezeigt...
PHP Code:
if(count($row) === 0) { exit("Keine Datensätze gefunden."); }
[...]
$row $stmt->fetch(PDO::FETCH_ASSOC); 

Die Variable $row gibt es erst viel später? ^^
False is offline  
Reply




All times are GMT +2. The time now is 05:18.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.