Antworten auf deine Fragen:
Neues Thema erstellen

[Gelöst] Hilfe bei Datenbank auslesen mit PHP (Magento-Shop)

JayJay87

Noch nicht viel geschrieben

Hallo liebe PSD-Mitglieder,

Ich bin verwirrt...Ich habe google schon durchforstet und irgentwie scheint noch niemand an das Problem gestoßen zu sein oder noch nicht so eine Lösung benötigt zu haben.

Und zwar sitze ich an einem Magento-Shop...Ich habe eine Artikel der viele Attribute hat z.b. Farben, Größe und Lieferbarkeit.Die Kataloge sind in einer SQL-Datenbank.Den Artikel hab ich mal Sharknado genannt, is in der Datenbank in dem catalog dann in der Spalte value und hat dann die attribute_id = 71 und die entity_id = 1, diese attribute_id und value sollen später in einer Email an mich jeden morgen um 8h gesendet werden, aber nur wenn ein value (das für Lieferbarkeit steht) JA und attribute_id = 134 (entity_id ist auch 1).
PHP:
<?php
    $db_server = "localhost" ;
    $db_username = "user";
    $db_passwort = "passwort";
    $db_datenbank = "*****";
    
     // Verbindung mit der Mysql-datenbank
    $connect = mysql_connect ($db_server, $db_username, $db_passwort);
    mysql_connect_db ("meinserver", $connect );
   
     //Verbindung prüfen ob geklappt
    if (!$connect)
        {
            //keine Verbindung, script abbrechen
            die ("Keine Verbindung zur Datenbank möglich!".mysql_error());   
        }
       
    //Verbunden...
    echo "Verbindung zur Datenbank erfolgreich.<br>" ;
   
    //Auswahl Datenbank
    mysql_select_datenbank ($db_datenbank, $connect);
   
    //Selektion von Daten aus der Tabelle
    //Spalte Attribute ID auswählen und value "Ja"
    //Ausgabe attribute id und value via entity id
    $sql = "SELECT atrribut_id , value
            FROM catalog_product_entity_vachar    
            WHERE attribute_id=134 AND value=JA";
   
   mysql_close ($connect)
?>

Bin ich da auf den richtigen Weg? Könnet ihr mir da helfen? Mir Tipps geben?
 

lachender_engel

Aktives Mitglied

Ich verstehe jetzt nicht wodrin Dein Problem besteht. Aber ich vermute mal, dass Du nicht das gewünschte Ergebnis bekommst?!
Eventuell liegt es an Deinem SQL-Statement und der Abfrage nach value = JA.
Ich vermute (wieder), dass Du die Abfrage ohne die Magento-Klassen verwendest.
Daher wird die Abfrage nicht durch den Parser zur Lokalisierung laufen und mit dem Statement
Code:
... AND value = JA
kein Ergebnis kommen.
Trage stattdessen ein
Code:
... AND value = YES
Dann bekommst Du die gewünschte Ausgabe (sofern die restlichen Parameter gültig sind).
 

JayJay87

Noch nicht viel geschrieben

ich hätte vielleicht dazu sagen sollen das ich Anfängerin in dem Bereich bin...hab vorher noch nicht viel mit php gearbeitet.
Naja also ist der code verkehrt den ich gecodet habe oder wie?wegen den fehlenden magento-klassen....ich hab die php.net seite schon durchkämmt...irgentwie is alles immer nur kurz angerissen und nichts irgentwie richtig aufschlussreich....ich denke ich probiere einfach weiter rum bis es funktioniert...
 

Duddle

Posting-Frequenz: 14µHz

Naja also ist der code verkehrt den ich gecodet habe oder wie
Wenn du ihn ausführst und Fehler bekommst, ist der Code falsch. Du beschreibst keine Fehler, also hast du entweder den Code nie ausgeführt oder er hat keine Fehler.

Ich habe darauf hingewiesen, dass eine formulierte SQL-Abfrage (in deiner Variable $sql) nicht automatisch an den Datenbank-Server geschickt wird, du also keine Antwort bekommen und auswerten kannst. Bau das ein und teste es. Dann erweitere das System und beseitige eventuell auftretende Fehler, bis dein Ziel erreicht ist.


Duddle
 

JayJay87

Noch nicht viel geschrieben

Mein Problem is halt das ich nicht weiter weiß...weil die abfrage die ich gecodet habe wie oben gibt mir nicht die richtig attribut_id und value ich bekomme dann halt nur die attribute_id=134 und value=JA
 

afr0kalypse

Allwissendes Karmameerschweinchen!

... ich bekomme dann halt nur die attribute_id=134 und value=JA
Schau dir mal deine SQL Abfrage genauer an und versuche sie auszuformulieren:
SELECT attribute_id , value
FROM catalog_product_entity_vachar
WHERE attribute_id=134 AND value=JA

Ausformuliert: Gib mir den Wert von der Spalte attribute_id und den Wert von der Spalte value der Tabelle catalog_product_entity_vachar WENN der Wert für attribute_id 134 und der Wert für value JA ist.

Das ist das was du abfragst und auch das was du erhältst, wenn du das Query via php an die DB schickst.
Wenn du diese Werte nicht haben willst, dann musst du uns schon sagen, welche du haben willst.
 

Isometric

Powerproster

weil die abfrage die ich gecodet habe wie oben gibt mir nicht die richtig attribut_id und value ich bekomme dann halt nur die attribute_id=134 und value=JA
Den Satz verstehe ich nicht :(

Im oben geposteten Code steht am Anfang "atrribut_id" statt" attribute_id". Vielleicht ist das die Fehlerquelle
PHP:
$sql = "SELECT atrribut_id , value
            FROM catalog_product_entity_vachar  
            WHERE attribute_id=134 AND value=JA";
 

Chickenshooter

Alter Mann

Hallo JayJay.

Hast du schon andere openSource-Shopsysteme probiert?
Gearde als php Anfänger ist Magneto nicht die richtige Wahl. Man muss halt selber sehr viel Hand anlegen. Fundierte langjährige Kenntnisse in PHP, MySQL und div. Frameworks sind ein Muss, auch sollte HTML und CSS sollten einem nicht fremd sein. Es sei denn man hat alle Zeit der Welt was die Veröffentlichung des Shop angeht.

Das hilft Dir vielleicht jetzt nicht weiter aber probiere doch Shopsystem die schon fertig sind. Bei denen musst du unter Umständen nur die Optik anpassen.

mfg
 

JayJay87

Noch nicht viel geschrieben

Hallo Chickenshooter.

Nein ich hab noch keine anderen Systeme ausprobiert...aber ich werde das mal in angriff nehmen,danke für den Tipp...nur das problem ist in der Firma, wo ich meine Umschulung beginnen werde,wird nur mit Magento gearbeitet, und ich hatte im Praktikum halt die Aufgabe eine Extension zu machen...naja PHP bin ich ja schon öfters drüber gestolpert,aber ganz neu ist für mich die MySQL-Datenbank / phpAdmin....HTML und CSS sind für mich keine Unbekannten..zu mal ich schon n paar Websites erstellt habe und dadurch auch schon etwas mit PHP zu tun hatte...nur bei Magento is es halt sehr umfangreich was man wissen muss...und keine vernünftigen Tut´s zu finden,darum hatte ich ja die Hoffnung das mir hier jemand weiter helfen kann

Trotzdem danke für dein Vorschlag

LG
 

JayJay87

Noch nicht viel geschrieben

ja ich hatte n kleinen denkfehler es müsste
PHP:
SELECT value FROM catalog_product_entity_vachar WHERE entity_id=(SELECT entity_id FROM catalog_product_entity_vachar WHERE attribute_id=134 AND value='JA') AND attribute_id=71
heißen....nun ist nur das Problem bei einem Artikel funkst das auch noch doch bei mehreren sagt er mir dann dass das subquery mehrere werte zurückgibt....
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.450
Mitglieder
67.557
Neuestes Mitglied
Charal
Oben