Beiträge von PHP-Frage

    Moin,


    ich hab ein kleines Problem. Kann ich innerhalb von einer Echo Ausgabe eine IF Abfrage machen?



    In meiner PHP Error Log steht folgendes:


    PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

    Hallo cottton,


    vielen dank für deine Hilfe, ich verzichte auf meine Funktion und setzte es so um wie du es gemacht hast. Dazu hätte ich noch eine Frage, wenn für mich ist nicht ganz klar, wie du es schaffst, alle Beträge zusammen zu zählen ?( Ich nehme an, es liegt an dieser Zeit


    PHP
    $betragKomplett += $BruttoBetrag


    heißt das mit dem + kann man bei jedem Durchlauf der Schleife einen Betrag mit dranhängen? Hab dieses so noch nie gesehen.


    Außerdem hätte ich noch eine weitere Frage zum zählen, entweder kann ich bzw. OpenOffice nicht richtig zusammen zählen, oder PHP macht einen kleinen Fehler:


    Folgende Beträge sollen zusammengezählt werden:



    macht zusammen laut OpenOffice 67,34 Euro. Wenn ich dein PHP Code ausführen lasse, dann kommt 67,33 Euro raus. Ich meine wir reden wir von einem Cent, aber dennoch wäre es schön, wenn PHP richtig rechnet oder auch OpenOffice :)


    Zu deiner Frage warum ich beide Beträge speichere, das mache ich nicht :) In meiner Datenbank stehen Preise mit einem , also deutscher Schreibweise, deshalb lass ich die für bestimmte Funktionen wieder umrechnen, dass PHP damit rechnen kann.

    Hallo,


    mein Warenkorb funktioniert sehr gut, nun möchte ich gerne noch die Summe zusammen zählen, das ist meine Funktion die ich bis jetzt habe:



    Meine Ausgabe sieht dann so aus



    Benötige ich jetzt eine zweite Funktion um den Preis zusammen zählen zu können, oder könnte ich dieses mit in meine Hauptfunktion bauen? Ich weiß dass ich es scheinbar direkt in MySQL machen kann mit SUM(wk_preis) AS 'betragKomplett' aber wie wende ich diese an? Auf PHP.net habe ich gelesen, es könnte wohl auch mit Array_sum machen, aber auch hier weiß ich nicht so recht, wie ich dieses anwenden soll.


    Vielleicht könnt ihr mir hier weiterhelfen. Der Preis soll natürlich nur einmal ganz am Ende meiner Auflistung stehen. Ich hoffe ihr versteht was ich meine.


    Edit: Mit einer Zusätzlichen Funktion geht es


    Danke für deine Antwort, wenn ich deinen Code benutzt, erhalte ich folgende Meldung:


    Zitat

    Fatal error: Cannot pass parameter 2 by reference


    Es muss scheinbar erst eine Variable angelegt werden, die ich dann in bind_parmas verwenden kann, so klappt es:


    PHP
    $param = '%'.$KdSuche.'%';
    $stmt = $mysqli->prepare($select . " WHERE kd_firma LIKE ?" );
    $stmt->bind_param("s", $param);

    Moin,


    eine kleine Frage, ich möchte gerne aus meiner Suche



    PHP
    if ($KdSuche) {			
    	$stmt = $mysqli->prepare($select . " WHERE kd_firma =?" );
    	$stmt->bind_param("s", $KdSuche);
    
    }



    ein LIKE machen, dass ich nicht genau den Namen schreiben muss. Dazu benötige ich ja das LIKE %WERT% Nur die Frage ist, wie setzte ich das LIKE bei $mysqli->prepare da arbeite ich ja mit =?

    Moin,


    was ist an meiner Frage denn nicht zu verstehen? Ich habe z.B. 50 Artikel in meinem Warenkorb, wählen nun einen Kunden aus und möchte ALLE Artikel mit einem Klick einem anderen Kunden zuordnen.


    Jetzt verstanden wo mein Problem lag? :)

    Hallo,


    ich wollte mehrere Einträge updaten, dachte es geht so:



    Ich bekomme aber immer nur den ersten upgedate, warum?


    EDIT - 04.06.2015 - 14:06 Uhr:


    OK, ich muss zuerst die Max-Anzahl auslesen von allen Artikel, das habe ich nun so gemacht


    PHP
    $countWK = countWK($mysqli, $object->user_code);
    	                            foreach($countWK as $countWK){
    		                                                        $glo = $countWK['amount'];
    	                            }


    Und anschließend kann ich das Update durchführen und muss einen Zähler nach oben setzten:



    Wenn ihr noch Verbesserungen habt einfach sagen.

    Ich verstehe es auch nicht, lasse ich dieses ausgeben:


    PHP
    echo $object->p_preis;
    echo "<br>";
    echo $ps_p1;


    erhalte ich dieses:


    17,64
    150


    das heißt also, die Variablen sind richtig gefüllt?
    Es liegt an dem , da muss ein Punkt hin :/ Kann ich das , bei der Ausgabe in ein . umwandeln um damit zu rechnen?
    OK so: $preis1 = str_replace (",", ".", $object->p_preis) * (1+$ps_p1/100); jetzt muss ich es nur nach dem Rechnen wieder umwandeln?


    OK, das geht dann wohl so: <?php echo htmlspecialchars(str_replace (".", ",", $preis1)); ?><br>


    Und mit runden auf zwei Nachkommastellen geht es so: $preis1 = round(str_replace (",", ".", $object->p_preis) * (1+$ps_p1/100),2);

    Guten Abend,


    die Frage ist ja schon etwas peinlich, aber ich komme einfach nicht dauf :wacko:


    In

    PHP
    $preis1	= $object->p_preis

    steht ein Preis sagen wir 17,46 in

    PHP
    $ps_p1

    steht ein % Wert sagen wir 150 jetzt möchte ich also Grundpreis * % wie mache ich dieses mit PHP? Als Ergebnis muss 43,65 raus kommen :) Die 150 ist nur ein Beispiel, es kann auch mal 22 oder 22,5 vorkommen usw.


    Vielen Dank für die Hilfe.

    Hallo,


    danke für deine Antwort. Aber es funktioniert leider nicht. Ich darf a) leider NICHTS an der Datenbank ändern, da diese Daten von extern kommen und ich unterschrieben musste, dass die Daten genau so genutzt werden, wie diese geliefert werden und an den Scripten kann ich auch kaum noch etwas ändern, da so viel andere Sachen schon damit verbunden sind. Ich muss schauen wie ich das mit meinem Code gelöst bekomme.


    EDIT:


    Ich habe mal deinen Code eingebaut und es sieht im Quelltext sehr nach Fehler aus? :o


    [Blockierte Grafik: http://fs1.directupload.net/images/150403/lbsxubbs.jpg]


    Außerdem bleibt mein Feld Serien leider komplett leer. Ist es sinnvoll ALLE Daten im Quelltext ausgeben zu lassen? Ich finde das ehrlichgesagt nicht wirklich schön.

    Guten Abend,


    durch das Forum konnte ich schon einige lernen. Hab mich nun entschlossen hier anzumelden da ich einfach nicht mehr weiter kommen. Ich hoffe mein Vorhaben ist nicht so schwer umzusetzen. ich bin schon am verzweifeln.


    Ich habe in meiner Datenbank zwei Tabellen (an diesen kann ich leider auch nichts mehr ändern, da diese bereits mehrere Tausend Einträge haben)


    SQL
    CREATE TABLE IF NOT EXISTS `web_hersteller` (
    `h_id` int(11) NOT NULL,
      `h_titel` varchar(100) NOT NULL,
      `h_titelURL` varchar(100) NOT NULL,
      `h_status` varchar(2) NOT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8;


    SQL
    CREATE TABLE IF NOT EXISTS `web_serien` (
    `s_id` int(11) NOT NULL,
      `s_hID` varchar(100) NOT NULL,
      `s_titel` varchar(200) NOT NULL,
      `s_titelUrl` varchar(200) NOT NULL,
      `s_status` varchar(1) NOT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8;


    In der ersten Tabelle in alle Hersteller vorhanden z.B.


    Brother
    Canon
    Dell


    In der zweiten Tabelle in alle Serien aufgelistet z.B.


    AX
    BSE
    CE


    Das erste Auswahlfeld mit den Herstellern lasse ich durch diesen (auch hier im Forum gefunden und angepassten) Code füllen:



    PHP
    <select name="hersteller" id="hersteller">
    <option>-- Bitte wählen --</option>
    <?php 
    $hersteller = hersteller($mysqli);
    foreach($hersteller as $array){ ?>
    <option value="<?php echo $array['id'];?>"<?php echo ($s_hID == $array['id'] ? "selected" : "");?>><?php echo $array['titel'];?></option>
    <?php } ?>
    </select>


    Klappt auch alles wunderbar. Nun habe ich ein zweites Auswahlfeld mit allen Serien dieses wird mit diesem PHP Code gefüllt



    PHP
    <select name="serien" id="serien">
    <option>-- Bitte wählen --</option>
    <?php 
    $serien = serien($mysqli);
    foreach($serien as $array){ ?>
    <option value="<?php echo $array['id'];?>"<?php echo ($hID == $array['id'] ? "selected" : "");?>><?php echo $array['titel'];?></option>
    <?php } ?>
    </select>


    Ab jetzt fangen meine Probleme an. Das zweite Auswahlfeld darf natürlich nur diese Daten beinhalten, die zum Hersteller passen, welchen ich im ersten Auswahlfeld ausgewählt habe. Ist im ersten noch nichts ausgewählt, sollte das untere leer sein. Gut währe, wenn die Seite nicht neu aufgebaut wird. Ich habe hier http://www.blogrammierer.de/jq…-boxen-mit-ajax-befullen/ auch etwas gefunden, aber das sieht für mich nicht wirklich gut aus, denn dann hätte ich ja ständig alle Daten in einer Datei stehen?


    Ich hoffe ich habe es so geschrieben, dass ihr mein Problem erkennt und mir wenn möglich helfen könnt. Hoffe es ist nicht all zuschwer.