Ankündigung

Einklappen
Keine Ankündigung bisher.

Eintrag aus MySQL nur ausgeben wenn Wert zu trifft.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eintrag aus MySQL nur ausgeben wenn Wert zu trifft.

    Hallo liebe Community,
    ich versuche grade etwas meine PHP Kenntenisse zu erweitern und mich etwas in MySQL einzuarbeiten.
    Ich versuche grad eine Abfrage erst anzeigen zu lassen wenn der Boolean wert es zulässt.
    Das heißt ich habe eine Tabelle in dem Leute eingetragen sind.
    Diese lass ich so anzeigen:
    PHP-Code:
    <td ><?=$row['trikot']?></td>
          <td ><?=$row['vorname']?>  </td>
          <td ><?=$row['nachname']?> </td>
          <td ><?=$row['email']?> </td>
          <td >
    Meine Idee war es eine if abfrage zu machen die Prüft ob der Wert true ist und dann die jeweilige Variable ausgibt
    PHP-Code:
    <?php if ($row['allow'] == true)
        {
         echo
    '$row["trikot"]';
        }
    ?>
    Aber das scheint nicht der richtige weg zu sein .

    Es wäre großartig wenn ihr mir etwas Helfen könnt.

    Gruß rico

  • #2
    Richtig wäre:
    PHP-Code:
    echo $row['trikot']; 
    .
    Wenn es das nicht war, was DU suchst, erläutere bitte genauer, wo das Problem liegt.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Danke für deine Hilfe
      Also das war es nicht :/
      Ich hab die oben gennante Tabelle,die mir alle User ausgibt die in der Datenbank sind.
      Nun möcht ich aber, das die Daten aus der Tabelle nur angezeigt werden wenn in der Datenbank beim User das "allow" auf 1 gesetzt ist.

      Kommentar


      • #4
        Zitat von rico Beitrag anzeigen
        Danke für deine Hilfe
        Also das war es nicht :/
        Ich hab die oben gennante Tabelle,die mir alle User ausgibt die in der Datenbank sind.
        Nun möcht ich aber, das die Daten aus der Tabelle nur angezeigt werden wenn in der Datenbank beim User das "allow" auf 1 gesetzt ist.
        Warum holst du dir dann diese Daten aus der Datenbank, wenn du sie gar nicht anzeigen willst?

        Kommentar


        • #5
          Es sollen ja die Daten angezeigt werden aber nur eben die Einträge die in der Datenbank in der Spalte allow eine 1 haben.

          Kommentar


          • #6
            Dann hol die nur die Datensätze, bei denen die Spalte allow den Wert 1 hat.

            Wozu lädst du alle Datensätze?

            Kommentar


            • #7
              Select dies, das, jenes from tabelle where allow=1
              Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

              Kommentar


              • #8
                Gute Frage,bin noch zu unsicher sitz erst seit 2 Tagen an MySQL,aber jetzt klappts.
                An sowas hab ich gar nicht gedacht,vielen Dank

                Kommentar


                • #9
                  Guten Abend,
                  ich wollte mich jetzt ein Schritt weiter wagen und meine Tabelle mit einer Editierfunktion austatten.
                  Nur es scheitert schon wieder am Ausgeben,ich übermittel mit diesem Link meine Id
                  PHP-Code:
                  <a href="edit.php?id=<?php echo $row['id']?>">Edit</a>
                  .
                  Meine edit.php sieht so aus
                  PHP-Code:
                  <?php

                  try
                  {
                  $pdo = new PDO('mysql:host=localhost;dbname=bfv''root''');
                  }
                  catch (
                  PDOException $e)
                  {
                      echo 
                  'Datenbank-Fehler: ' $e->getMessage();
                  }

                  $sql"SELECT id, trikot, vorname, nachname, email FROM users WHERE ID = :ID";
                  $stmt $pdo->prepare($sql);
                  $stmt->bindParam(':ID'$idPDO::PARAM_INT);
                  $stmt->execute();
                  $row $stmt->fetchObject();

                  $id $_GET['id'];
                  ?>

                   
                  <form id="form1" name="form1" method="post">
                  <input type="hidden" name="id" value="<?=$row['id']?>"/>
                    <label for="trikot">Trikot Nr.:</label>
                    <input name="trikot" type="text" id="trikot" value="<?=$row['trikot']?>" size="5">
                    <label for="name">Name:</label>
                    <input type="text" name="name" id="name" value="<?=$row['vorname']?>">
                    <label for="nachname">Nachname:</label>
                    <input name="nachname" type="text" id="nachname" value="<?=$row['nachname']?>">
                    <label for="email">Email:</label>
                    <input type="text" name="email" id="email" value="<?=$row['email']?>">
                    <input type="submit" name="submit" id="submit" value="Senden">
                  </form>
                  Ich würde gern das er in den Inputfeldern die Daten passend zu ID wieder gibt und dann würd ich mich weiter mit der Editfunktion machen.
                  Gruß rico

                  Kommentar


                  • #10
                    Php läuft - wenn wir jetzt mal funktionsaufrufe u.ä. außen vorlassen - von oben nach unten ab. Zu dem Zeitpunkt wo du "$id" setzt ist der ganze rest dadrüber also schon abgearbeitet.
                    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

                    Kommentar


                    • #11
                      Danke sowas wurde mir z.b. gar nicht im Informatikunterricht gesagt

                      Ich habe jetzt die $id an erster stelle gesetzt,nun wird mir aber nur noch eine weiße Seite angezeigt.

                      Kommentar


                      • #12
                        Dann lass dir mal die PHP Fehlermeldung ausgeben:
                        http://php-de.github.io/jumpto/leitfaden/

                        Kommentar


                        • #13
                          Du must in der php.ini auf Deinem Entwicklungssystem folgende 2 Einträge setzen/ändern nach:

                          display_errors = On
                          error_reporting = E_ALL

                          dann werden Dir die Fehler angezeigt.
                          PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

                          Kommentar


                          • #14
                            Das wird mir jetzt Angezeigt: Datenbank-Fehler: could not find driver
                            Notice: Undefined variable: pdo in C:\xampp\htdocs\edit.php on line 26

                            Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\edit.php:26 Stack trace: #0 {main} thrown in C:\xampp\htdocs\edit.php on line 26
                            ich habe die Nacht noch ein wenig herumprobiert und nach einigen Tutorials und Erklärung es so versucht:
                            PHP-Code:
                            $gid $_GET['id'];
                            $sql $pdo->query ("SELECT id, trikot, vorname, nachname, email FROM users WHERE id = '$gid'");
                            $row $sql->fetch(); 
                            So funktioniert es,aber warum es mit der anderen Variante nicht geht ist mir nicht schlüssig.

                            Kommentar

                            Lädt...
                            X