kostenloser Webspace werbefrei: lima-city


Arrays aus Datenbank ohne While?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Hi.

    Wenn ich aus einer Datenbank alles raushole (*), und es dann OHNE eine while Schleife in einen Array verwandeln will, was muss ich machen?

    Ich wei? das es geht, ich wei? nur nicht mehr wie. Gegoogelt hab ich auch schon...


    W?re nett wenn mir jemand helfen k?nnte.

    Danke im Voraus!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. weis nich wozu du sowas brauchst...
    hab das bei selfphp gefunden, is zwar nich mit while, aber mit ner andern schleife...

    <?PHP
    /* Datenbankserver - In der Regel die IP */  $db_server = "localhost";
    /* Datenbankname */
      $db_name = "selfphp";
    /* Datenbankuser */
      $db_user = "root";
    /* Datenbankpasswort */
      $db_passwort = "mega";
             
    /* Erstellt Connect zu Datenbank her */  $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
      $db_select = @MYSQL_SELECT_DB($db_name);  $result = mysql_query("SELECT * FROM selfphp_funktionen");   for($x=0;$x<mysql_num_rows($result);$x++) {     $str_1 = mysql_result($result,$x, "selfphp_funktionen.id");     echo "id: $str_1 <br>";     $str_2 = mysql_result($result,$x,1);     echo "gruppe: $str_2 <br><br>";   }?>

    Quelle: Selfphp (keine funktionsgarantie)

    ich selbst w?sste auch nich, was es ohne while noch geben soll, wenn du alles (*) ausgeben willst...

    mfg
  4. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Nein!

    Ich will es in einen Array speichern!

    Nicht ausgeben....Aber... bei mir will das net so wirklich...^^"

    wenn ich nur schreibe (nach dem query):

    $result = mysql_fetch_array($sql);

    Gibts nen Fehler aus.
  5. c*********c



    adrians schrieb:
    wenn ich nur schreibe (nach dem query):

    $result = mysql_fetch_array($sql);

    Gibts nen Fehler aus.


    Das m?sste, meiner Ansich nach, aber funktioneren!
    Ausser das(der?) Query ist fehlerhaft und/oder nicht abgesandt worden.

    Zeig uns bitte den Code ...
  6. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Der Query funktioniert, und ich habe gedacht es w?rde auch so klappen... tuts aber net...*frust* teste ichs einfahc nomma...

    edit: Ich packs net..... *frusted*

    Hier der Code. Sinnd er Sache ist es das man in die Inputs (Sp?ter mit Beschreibung und auch Textareas usw) Daten Eintr?gt und diese dann in die DB gespeichert weren. Wenn ein Wert in dem Arrayfeld ist, dann soll der Wert angezeigt werden. Ansonsten der Standart.

    Aber momentan gibts gar keine value aus... o.o"

    Hier der Code:

    <?php
    session_start();
    include("../dbconnect.php");
    if ($_SESSION['start'] == true)
    {
    //Daten aus der DB holen
    $name = $_SESSION['name'];
    $daten_1 = "SELECT * FROM `profil` WHERE `name` = '".$name."'" OR die(mysql_error());
    $daten2 = mysql_query($daten_1) OR die(mysql_error());
    $date = mysql_fetch_array($daten2);
    //Formularteil
    echo "Willkommen ", $_SESSION['name'];
    echo "
    <br>
    <br>
    Bitte gebe die Daten ein die du preisgeben m?chtest:<br><br>
    <form method=\"post\">
    Wohnort und Stra?e:<br><br>";
    if ($daten['home'] != "Stra?enname")
    {
    echo "<input name=\"home\" value=\"", $daten['home'], "\"><br>";
    }
    else
    {
    echo "<input name=\"home\" value=\"Stra?enname\">";
    }
    //Next
    if ($daten['plz'] != "PLZ")
    {
    echo "<input name=\"plz\" value=\"", $daten['plz'], "\"><br>";
    }
    else
    {
    echo "<input name=\"plz\" value=\"PLZ\"><br>";
    }
    //Next Kind
    echo "Hobbies:<br><br>";
    //Next
    if ($daten['hobby'] != "Hobbies")
    {
    echo "<input name=\"hobby\" value=\"", $daten['hobby'], "\"><br>";
    }
    else
    {
    echo "<input name=\"hobby\" value=\"hobbies\"><br>";
    }
    //Next Kind
    echo "?ber dich:<br><br>";
    if ($daten['about'] != "Erz?hl was ?ber dich!")
    {
    echo "<input name=\"about\" value=\"", $daten['about'], "\"><br>";
    }
    else
    {
    echo "<input name=\"about\" value=\"Erz?hl was ?ber dich!\"><br>";
    }
    //Next Kind
    if ($daten['single'] != "Wie stehts mit der Liebe?")
    {
    echo "<input name=\"single\" value=\"", $daten['single'], "\"><br>";
    }
    else
    {
    echo "<input name=\"single\" value=\"single\"><br>";
    }
    echo "<input type=\"submit\" name=\"send\"><br><br><br>
    </form>
    ";
    if (isset($send))
    {
    if ($daten['home'] != "")
    {
    echo "Eintr?ge werden aktualisiert!";
    $query = "UPDATE `profil` SET home, plz, street, hobby, about, single = '$home', '$plz', '$street', '$hobby', '$about', '$single' WHERE `name` = '".$name."'" OR die(mysql_error());
    $result = mysql_query($query) OR die(mysql_error());
    }
    else
    {
    echo "Eintr?ge werden gemacht!";
    $query = "INSERT INTO `profil` (name, home, plz, street, hobby, about, single) VALUES ('$name', '$home', '$plz', '$street', '$hobby', '$about', '$single')" OR die(mysql_error());
    $result = mysql_query($query) OR die(mysql_error());
    }
    }
    }
    else
    {
    echo "Keine g?ltige Session, bitte loggen sie sich ein!";
    }
    ?>



    Viel pa?, das ist ein wirrer und sehr unsauberer code. Das ist mir Klar.....

    Beitrag ge?ndert am 16.09.2005 19:30 von adrians
  7. du, aber den code hast du nicht 1:1 so in deinem script, oder?

    denm:
    <form method="post">

    w?rde ersteinmal unter php ein fehler ausgeben, da in php die "" weggelassen werden m?ssen... es sein denn, du hast den code uns nur auszugsweise aufgelistet, und zwischendurch immer zu html gewechselt, aber sieht nich so aus, da du das ja alles in einem
    echo ""
    zu stehen hast...
  8. c*********c

    $query = "UPDATE `profil` SET home, plz, street, hobby, about, single = '$home', '$plz', '$street', '$hobby', '$about', '$single' WHERE `name` = '".$name."'" OR die(mysql_error());


    Dieses Query ist mit Sicherheit falsch.
    Denn wenn mehrere SET-Parameter ?bergeben werden sollen, schreibt man das in dieser Form:

    $query = "UPDATE `profil` SET home = '$home',
    plz = '$plz',
    street = '$street',
    hobby = '$hobby',
    about = '$about',
    single = '$single'
    WHERE `name` = '".$name."'" OR die(mysql_error());


    Des weiteren bin ich mit dem "OR die(mysql_error());" an dieser Stelle nicht zufrieden.
    Denn der Befehl nach OR wird nur dann ausgef?hrt, wenn die Variable nicht gespeichert werden konnte.
  9. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Hmm, das mit dem Update wusste ich gar net, und das die() hab ich danur hingemacht weil es nicht geklappt hat, normalerweise mach ich das da net.Mache ich eigentlich nur bei mysql_query().

    Hmm, dann werde ich jetzt mal ein wenig ummodeln....


    edit:
    ?brigens: Im code sind bei Method="post" die \ die werden hier aber irgendwie net angezeigt!

    Und... ?hm, es aktualisiert nicht, was wahrscheinlich an der if am anfang liegt, aber es zeigt auch keine Values an. Das ist sch***e!

    K?nnte mir da wer helfen, bitte?

    Beitrag ge?ndert am 17.09.2005 12:07 von adrians
  10. hm....

    ?brigens: Im code sind bei Method="post" die die werden hier aber irgendwie net angezeigt

    interpretiere ich das falsch, oder fehlen in deinen s?tzen ?fters mal worte? weil manche s?tze muss man sich ja zusammendenken....

    ich meinte dabei, das diese anf?hrungsstriche bei php ?berfl?ssig sind, wenn nicht sogar ein fehler, bei html macht man das so, mit den anf?hrungsstrichen, aber bei php nicht. und auch nicht nur bei ->method="post"<-
    , sondern ?beralle wo du ->="..." hast<-... w?rde ich sagen....aber ich will dich nich durcheinander bringen...

    und: das er das nicht aktualisiert, liegt wohl an dem was disc geschrieben hat, das der update query falsch ist...!!!

  11. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Das habe ich ja ge?ndert, nein, die If ist falsch. Es tr?gt immer wieder neu ein, es kommt gar nicht dazu Update zu benutzen!
  12. c*********c

    //Formularteil

    echo "Willkommen ", $_SESSION['name'];

    echo "
    <br>
    <br>
    Bitte gebe die Daten ein die du preisgeben m?chtest:<br><br>

    <form method="post">

    Wohnort und Stra?e:<br><br>";


    Ist ebefalls falsch, da ALLE Anf?hrungszeichen, welche von echo/print/printf ausgegeben werden sollen, escaped werden m?ssen.

    Ausnahmen stellt das einleitende, sowie das endende Anf?hrungszeichen dar.


    Probleml?sung zu Deinem Fall (?nderungen sind fett markiert):
    //Formularteil

    echo "Willkommen ". $_SESSION['name'];

    echo "
    <br>
    <br>

    Bitte gebe die Daten ein die du preisgeben m?chtest:<br><br>
    <form method=\"post\">
    Wohnort und Stra?e:<br><br>";


    Alternativ dazu kannst Du die Zeichenfolge mit Hochkommata umklammer.
    Somit wird es Dir erm?glicht, Anf?hrungszeichen nicht zu escapen.

    Beispiel:
    //Formularteil

    echo 'Willkommen 'b].[/b] $_SESSION['name'];

    echo '
    <br>
    <br>

    Bitte gebe die Daten ein die du preisgeben m?chtest:<br><br>
    <form method="post">
    Wohnort und Stra?e:<br><br>';
  13. if ($daten['home'] != "")
    {
    echo "Eintr?ge werden aktualisiert!";
    // UPDATE DER EINTR?GE
    }
    else
    {
    echo "Eintr?ge werden gemacht!";
    // NEUEUNTRAGUNG
    }


    warum da if ($daten['home'] != "") ?

    is der daten nicht der array, der aus der db ausliest? was hat der damit zu tun?

    irgendwie verstehe ich dein script nicht wirklich, sorry.... aber jeder macht es ja anders...
  14. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Ich sag doch, die if is falsch, aber da is mir ncihts anderes eingeflalen, deshlab hab ich das gemacht!^^"

    UND ICH HABE ALLE ESCAPED!!! SONST W?RDE ICH DOCH SAEGEN DAS ES EINEN FEHLER AUSGIBT!!!!

    ICH HAB TAUSENMAL GESAGT DAS LIMA DIE \ HALT NET ANZEIGT-.-

    Mann, das regt mich schon wieder auf.

    Und ich frage mich warum das Ding die Values nicht ausgibt und wie die IF hei?en sollte die unter Update und INSERT entscheidet, das ist ALLES!
  15. alles klar, meinst du, wenn du ALLES GRO? SCHREIBST versteht man dich besser? ich muss mich hier nicht indirekt anpflaumen lassen, sorry...
  16. c*********c

    adrians schrieb:
    Das habe ich ja ge?ndert, nein, die If ist falsch. Es tr?gt immer wieder neu ein, es kommt gar nicht dazu Update zu benutzen!


    Das ist vollkommen logisch.

    Denn:
    Du hast nirgendwo in Deinem Quellcode die Variable namens "$daten" definiert.

    Folglich wertet PHP folgende if-Anweisung als "false":

    if ($daten['home'] != "")


    Da, wie schon gesagt, $daten NICHT deklariert, geschweige denn, vorhanden ist.

    Somit wird immer der else-Teil der if-Anweisung ausgef?hrt.
  17. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Mir f?llt gerade auf das da tats?chlich ein Schreibfehler drinne ist^^

    *date zu daten ?nder*

    edit: Ahhhh! Jetz klappts!

    Thx Compactdisc! Und auch thx an lagerhaus... sorry da sich so unh?flich war... war irgendwie sauer... sorry...

    Beitrag ge?ndert am 17.09.2005 17:32 von adrians
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!