SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.02.2013, 15:36:31
lebuek lebuek ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 63
Beiträge: 12
lebuek befindet sich auf einem aufstrebenden Ast
Datenwert vergleichen

Hallo,
wahrscheinlich eine dumpe Frage ... aber dennoch:
ich möchte einen mit sql ausgelesenen Tabellenwert überprüfen -
ob er > 0 ist.

Ich hatte mir vorgestellt:
mysql_select_db("colorit", $link);
$query="SELECT anzahl FROM color WHERE bezeichnung='color_gelb'";

$min=0;
if ($query > $min ) {
anweisung ....

}
else{
anweisung...
}


was aber nicht funktioniert.
Wie kann ich das lösen?

Vielen Dank für Eure Hilfe!
Mit Zitat antworten
  #2  
Alt 16.02.2013, 15:41:33
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Beiträge: 2.269
DokuLeseHemmung befindet sich auf einem aufstrebenden Ast
AW: Datenwert vergleichen

Die Hälfte Vergessen....
mysql_query()
mysql_fetch_assoc()

Auch kannst du den Vergleich schon im WHERE Teil des Query machen.
Mit Zitat antworten
  #3  
Alt 16.02.2013, 15:52:46
lebuek lebuek ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 63
Beiträge: 12
lebuek befindet sich auf einem aufstrebenden Ast
AW: Datenwert vergleichen

wenn ich die Bedingung in die sql Abfrage packe - habe ich nicht mehr
die Möglichkeit, einen Text anzuzeigen.
Es sollte so funktionieren:
Solange anzahl > 0 wird der bestand jeweils um 1 minimiert
Wenn anzahl == 0 soll ein Text ausgegeben werden:
'color_gelb' nicht mehr verfügbar.

Ich hoffe, ich habe das richtig formuliert.
Danke!
Mit Zitat antworten
  #4  
Alt 20.02.2013, 12:32:19
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 50
Beiträge: 1.044
urvater befindet sich auf einem aufstrebenden Ast
AW: Datenwert vergleichen

Schau dir mal das Beispiel zu mysql_fetch_assoc() an. Die Stelle mit mysql_num_rows() sollte eigentlich genau das sein, was du hier anfragst. Hier mal der kleine Ausschnitt davon.
PHP-Code:
if (mysql_num_rows($result) == 0) {
    echo 
"Keine Zeilen gefunden, nichts auszugeben, also Ende";
    exit;

Das Verhalten deines Skripts müsstest du natürlich an deine Bedingungen anpassen.
Mit Zitat antworten
  #5  
Alt 20.02.2013, 13:19:13
Benutzerbild von meikel
meikel meikel ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 69
Beiträge: 4.001
meikel befindet sich auf einem aufstrebenden Ast
AW: Datenwert vergleichen

Zitat:
Zitat von lebuek Beitrag anzeigen
wenn ich die Bedingung in die sql Abfrage packe - habe ich nicht mehr die Möglichkeit, einen Text anzuzeigen.
Und wieso nicht? echo oder print funktionieren doch.
Zitat:
Es sollte so funktionieren:
Solange anzahl > 0 wird der bestand jeweils um 1 minimiert
Wenn anzahl == 0 soll ein Text ausgegeben werden:
'color_gelb' nicht mehr verfügbar.
Falsche Reihenfolge. Du mußt erst fragen, ob anzahl > 0 ist und, falls nicht, den Text ausgeben.
Falls größer 0, dann das UPDATE.
Da das aber 2 Abfragen sind, die Zeit kosten, kann man das auch mit einer Abfrage erledigen und affected_rows auswerten:
Code:
UPDATE tabelle SET anzahl = anzahl -1 WHERE anzahl > 0
Ist anzahl größer 0, ist affected_rows = 1, sonst = 0.

Ungetestet (Tippfehler nicht ausgeschlossen):
PHP-Code:
$db = new mysqli($host$user$pass$dbname);
$res $db->query('UPDATE tabelle SET anzahl = anzahl -1 WHERE anzahl > 0');
if (
$res->affected_rows 0){
  echo 
"Ware wird geliefert";
}else{
  echo 
"Die gewünschte Farbe ist leider nicht mehr vorrätig.";

Hinweis:
da die mysql Extension auf der Abschußliste steht, solltest Du die mysqli Extension verwenden.

http://www.php.net/manual/en/class.mysqli.php
http://www.php.net/manual/en/mysqli.affected-rows.php
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 Texte miteinander vergleichen monalisa PHP Grundlagen 1 12.01.2012 18:38:05
Timestamp mit aktuellem Datum vergleichen? Extremefall PHP Grundlagen 4 25.09.2010 14:01:26
Zahlenbereiche vergleichen robodriver MySQL 0 15.07.2008 07:38:36
Tags (Schlagworte) in MySQL speichern und mit PHP vergleichen Desperado_11 PHP für Fortgeschrittene und Experten 2 11.06.2007 01:59:01
Tabelleninhalte 'vergleichen' DominikJ PHP Grundlagen 1 21.08.2006 08:45:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:27:39 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.


© 2001-2018 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt