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 14.06.2005, 00:12:33
Fluppi Fluppi ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 7
Frage zu update und where klausel...

Tja, nach 3 Wochen PHP bin ich ja schon stolz das ich allein so weit gekommen bin, aber nun komme ich bei einem Problem einfach nicht weiter und auch Tutorials haben bei nicht den berühmten klick gebracht.

Folgendes Problem. Das Script funktioniert einwandfrei, auch wenn es an einigen stellen vielleicht nicht so elegant geschrieben ist. Bis zu der Stelle an der ich mit Update ein ergebnis in meine Datenbank schreiben will. Ich lese also mit der Funktion anzahl verzeichnisse aus um festzustellen wie viele Dateien mit der Endung *.bmp enthalten sind. Zum testen habe ich ein Verzeichnis mit bmp gefüllt und 4 sind leer. Bis zum Update funkt alles, aber an der Stelle wird für alle Datensätze der Wert eingetragen der eigentlich nur bei einem Datensatz eingetragen werden dürfte.

Ich verzweifle an der Where Klausel. Ich bin mir sicher das ich auf der einen Seite den Zeiger $daten->id nutzen muss um genau diesem einen Datensatz den wert zuzuschreiben. Aber alle versuche sind vergeblich und ich habe keinen Lösungsansatz gefunden der mir wirklich weiterhilft.

Hier mein Code, vielleicht kann mir jemand von euch den richtigen Anstoss geben. Bei Bedarf kann ich natürlich auch noch einen Dump meiner Tabellen beifügen. Ich hoffe der Code ist einigermaßen lesbar für euch. Ich habe mir alle mühe gegeben.

Es sind 3 Tabellen :
Tabelle autor - mit autor_id, name und Ordner
Tabelle land - mit lans_id, abk (Abkürzung), deutsch (deutscher Name), englisch (englischer Name)

Tabelle icon mit id, autor, land, gesamt (hier soll die Anzahl der Files eintragen werden) und ein paar anderen Feldern...

PHP-Code:
<?PHP
include 'include/tags.inc.php';
include 
'include/error.inc.php';
include 
'include/login.inc.php';

// Datenbankverbindung herstellen

$db mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS)or mysql_die();
mysql_select_db($MYSQL_DATABASE,$db);

// Anzahl der bmp ermitteln und in Datenbank eintragen

function anzahl($v) {
$dir opendir($v);
while (
$d readdir($dir)) {
if (
is_file("$v/$d") && (ereg(".bmp","$v/$d")))
$count++;
}
//end while
closedir($dir);
return 
$count;
}

// Datensatzabfrage - alle Datensätze die einen ordner und ein Land haben
// ist korrekt - in MySQL getestet
$sql "SELECT `land`.`abk`, `autor`.`ordner`, `icon`.`id`
             FROM `icon` 
             LEFT JOIN `autor` ON `icon`.`autor` = `autor`.`autor_id` 
             LEFT JOIN `land` ON `icon`.`land` = `land`.`l_id`"
;

$result mysql_query ($sql,$db) or mysql_die();

 while (
$daten=mysql_fetch_object($result))
    {    
$menge=anzahl("icons/$daten->abk/$daten->ordner");
         echo 
$menge// Dateianzahl ist korrekt
         
echo "Daten-id :$daten->id"//nur zur Kontrolle eingefügt

         // Hier hapert es, alle Datensätze
         // haben den gleichen Wert
         
$aendern "UPDATE icon SET gesamt = $menge" WHERE //????;
         
// Ich dachte es würde mit  id = $daten->id   gehen
         
$update mysql_query($aendern);                 }
Mit Zitat antworten
  #2  
Alt 14.06.2005, 11:03:10
bazubi bazubi ist offline
Junior Member
 
Registriert seit: Jan 2004
Beiträge: 496
AW: Frage zu update und where klausel...

Code:
 $aendern = "UPDATE icon SET gesamt = $menge WHERE id = $daten->id";
Sollte eigentlich gehen. Was für Fehlermeldungen spuckt das Script denn aus?
Mit Zitat antworten
  #3  
Alt 14.06.2005, 12:34:16
Fluppi Fluppi ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 7
AW: Frage zu update und where klausel...

Hmmm, genau das ist ja mein Problem. Das Update wird ja ausgeführt. Also keine Fehlermeldung. Nur mit dieser Where Klausel wird der Wert von $menge (also die Anzahl der Bilder die in einem von den 5 Verzeichnissen liegen) in alle Datensätze geschrieben. Und genau das soll er ja nicht machen.

Bisher habe ich nur Tabellen genutzt in denen ich einfach alle Daten gespeichert habe. Das ist aber nun nicht rationell und so wollte ich mich jetzt an den nächsten Schritt heranwagen und die Daten auf mehrere Tabellen verteilen. Das Problem wird wohl an dem JOIN liegen. Aber das richtig zu vertehen ist einfach noch zu hoch für mich.

Geändert von Fluppi (14.06.2005 um 12:41:52 Uhr)
Mit Zitat antworten
  #4  
Alt 14.06.2005, 21:49:19
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Frage zu update und where klausel...

$aendern = "UPDATE icon SET gesamt = $menge WHERE id = $daten->id";

geht sicher nicht...

$aendern = "UPDATE icon SET gesamt = $menge WHERE id = " . $daten->id;

schon eher.

edit:

und interessant dürfte auch das hier sein:

http://www.selfphp.com/forum/showthr...6958#post46958

Geändert von feuervogel (14.06.2005 um 21:55:39 Uhr)
Mit Zitat antworten
  #5  
Alt 19.06.2005, 11:23:02
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Frage zu update und where klausel...

nein, man braucht sich nicht zu bedanken, wir kriegen den job hier ja bezahlt *grummel*
Mit Zitat antworten
  #6  
Alt 19.06.2005, 15:43:50
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Frage zu update und where klausel...

Zitat:
Zitat von feuervogel
nein, man braucht sich nicht zu bedanken, wir kriegen den job hier ja bezahlt *grummel*
Warum so gereizt?
Mit Zitat antworten
  #7  
Alt 19.06.2005, 22:51:49
Benutzerbild von dachris
dachris dachris ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 401
AW: Frage zu update und where klausel...

Hmmm am Wetter kanns nicht liegen http://www.wetter.com/v2/?SID=&LANG=...eipzig&id=1200

ne keine Ahnung......
Mit Zitat antworten
  #8  
Alt 20.06.2005, 02:40:56
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Frage zu update und where klausel...

Zitat:
Zitat von xabbuh
Warum so gereizt?
wenigstens ein dankeschön bei erfolgreicher hilfe ist in meinen augen angebracht und kostet nix. ist außerdem nicht der erste, bei dem so etwas passiert...
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
Multi UPDATE, aber wie? shinbo-san PHP für Fortgeschrittene und Experten 10 27.04.2005 16:19:35
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 17:29:57
update values waoo MySQLi/PDO/(MySQL) 1 03.03.2005 17:41:41
Mehrere 'And's in WHERE Klausel DiJae MySQLi/PDO/(MySQL) 10 17.12.2004 11:29:01
php updated mysql-tabelle nicht! RedPartisan PHP für Fortgeschrittene und Experten 5 19.09.2003 09:33:21


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:24:37 Uhr.


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


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