Ankündigung

Einklappen
Keine Ankündigung bisher.

while? array? variablen?

Einklappen

Neue Werbung 2019

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

  • while? array? variablen?

    sorry.. ich hab das problem grad versucht 3 leuten zu schildern aber ich finde einfach nicht die richtigen worte dafür..

    darum gibts nur den code:

    PHP-Code:
    <?php
    if($action=="update")
        {
            
    $result_spalten_name  mysql_query("SHOW COLUMNS FROM $tab");
            while (
    $liste_spalten_name mysql_fetch_array($result_spalten_name)) 
                {
                
    $col_suche = $$liste_spalten_name[0]."_suche";
                
    $col_anz = $$liste_spalten_name[0]."_anz";
                
    mysql_query("UPDATE $tab SET `$liste_spalten_name[0]` = '".$$liste_spalten_name[0]."' WHERE id=1 ");
                
    mysql_query("UPDATE $tab SET `$liste_spalten_name[0]` = '$col_suche' WHERE id='4' ");
                
    mysql_query("UPDATE $tab SET `$liste_spalten_name[0]` = '$col_anz' WHERE id='5' ");
                echo 
    mysql_error();;
                }
            echo 
    "<center>Feldnamen wurden Geändert </center>
    "
    ;
        }
    ?>

    das problem ist, das:

    $col_suche = $$liste_spalten_name[0]."_suche";
    $col_anz = $$liste_spalten_name[0]."_anz";

    ich möchte damit qualsi die variablen unter einem anderen namen speichern...
    eigendlich is das auch nur eine kopie...
    mhm...

  • #2
    Ich würde für sowas immer Arrays benutzen, ist einfacher und übersichtlicher (kapier diese Variable durch Variable darstellen-Geschichte eh nie, bin grad dabei das mit Apache Ant zu machen *urgs*, da gibts leider keine mir bekannte Alternative).

    Kommentar


    • #3
      ich würde mal nur ein $-Zeichen vor die Variable setzen

      Kommentar


      • #4
        ne, das $$ ist schon richtig...
        damit macht man eine variable, die so heisst wie der inhalt der variable.
        da das alles dynamisch sein soll, komm ich da nicht drumrum.

        Kommentar


        • #5
          Benutze Arrays, notfalls mehrdimensionale.
          Mach mal ein Beispiel, wie deine Tabelle jetzt aussieht und wie sie aussehen soll, mit Spaltenname und -Feld-Beispielen.

          Kommentar


          • #6
            das is doch schon ein array...
            ich komm da grad absolut garnicht weiter wenn du mir sagst ich soll daraus ein array machen.. geht ja schon grnichtmehr.

            Kommentar


            • #7
              So wie ich das sehe, ist die while-Schleife schonmal nicht nötig, außerdem willst du offenbar den ersten Spaltennamen holen.

              $firstColumnName = mysql_result(mysql_query("SHOW COLUMNS FROM $tab"),0);

              Sagen wir der 1. Spaltenname heißt "ABC".
              Du schreibst nun in die Variable $col_suche folgendes: $ABC . "_suche";
              Ist $ABC also schon definiert?

              mysql_query("UPDATE $tab SET `ABC` = '".$ABC."' WHERE id=1 ");

              Ist das so beabsichtigt? Welchen Sinn macht das (keine Provokation, sondern normale Frage?)

              Und nochmal: Sowas ist schlechter Stil, verwende lieber anstatt $ABC = "foobar" einen Array, z.B. $columnReplace['ABC'] = 'foobar';


              Kann sein, dass auch ich nen Denkfehler drin hab, diese $$var machen einen ja verrückt

              Kommentar


              • #8
                kurze frage:
                ist ${$liste_spalten_name}[0]
                oder ${$liste_spalten_name[0]}
                gemeint?

                eagleScripts.de

                Kommentar

                Lädt...
                X