Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Globale Variable an Script geben, MySQL-Datenbank

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Globale Variable an Script geben, MySQL-Datenbank

    Hallo liebe Community.

    Folgendes Problem:
    Ich habe ein Script, das aus einer Datenbank bestimmte Werte ausliest und diese dann wiedergibt. Das funktioniert auch wunderschön.
    Jetzt ist es so: Diese Werte werden zuvor durch ein Formular eingetragen. Sobald man auf die Liste schaut, kann man diesen Eintrag also sehen.

    Es gibt in der Datenbank eine Spalte, die den Bearbeitungszustand anzeigt. Der Standard ist NULL. Dann wird in der Liste in der Zeile ein grünes Häkchen angezeigt (die Liste wird durch mysql_fetch_object und eine while-Schleife ausgegeben). Wenn man auf den Haken klickt, soll in genau diesem Datensatz der Wert des Bearbeitungszustands auf 1 gesetzt werden. Da ich das ja nicht mit Variablen machen kann, wurde mir empfohlen das mit globalen Variablen zu machen. Alles, was ich per Google aber gefunden habe, hat mir aber nichts geholfen.

    Hat da jemand einen Tipp auf Lagen?

    Den Link zu Website stelle ich nicht zur Verfügung, da dort auch Personenbezogene Daten stehen.
    Das Script auch nicht, zumindest aktuell nicht, da ich nur einen Ansatz suche, in der Hoffnung, dass ich mir den Rest erschließen kann
    Wenn es doch nicht geht, werde ich natürlich auch das Script hier posten.
    Ich hoffe das ganze ist trotzdem verständlich.

    LG,
    Auran

  • #2
    Zitat von Auran Beitrag anzeigen
    Wenn man auf den Haken klickt, soll in genau diesem Datensatz der Wert des Bearbeitungszustands auf 1 gesetzt werden. Da ich das ja nicht mit Variablen machen kann, wurde mir empfohlen das mit globalen Variablen zu machen. Alles, was ich per Google aber gefunden habe, hat mir aber nichts geholfen.
    Ich hab ehrlich gesagt keine Ahnung, was du meinst. Sicher, dass es nicht GET-Parameter sein sollten?

    Zitat von Auran Beitrag anzeigen
    Das Script auch nicht, zumindest aktuell nicht, da ich nur einen Ansatz suche, in der Hoffnung, dass ich mir den Rest erschließen kann
    So wird es allerdings schwierig zu helfen.

    Warum ist das im Fortgeschrittenen Bereich gelandet? Wer darf hier Posten
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Globale Variable an Script geben, MySQL-Datenbank

      Wenn du schon mit Globals um dich schwingen willst kann das nichts gutes heissen.

      Ansätze wirst du hier vergeblich suchen.
      [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

      Kommentar


      • #4
        Zitat von tkausl Beitrag anzeigen
        Ich hab ehrlich gesagt keine Ahnung, was du meinst. Sicher, dass es nicht GET-Parameter sein sollten?
        Hmm. Ich weiß zwar, was ein GET-Parameter ist, weiß aber nicht, wie das du hier genau meinst.


        Zitat von tkausl
        Warum ist das im Fortgeschrittenen Bereich gelandet? Wer darf hier Posten
        Da muss ich mich entschuldigen. Ich habe doch vergessen diese Beschreibung mir anzuschauen. Wenn das vielleicht verschoben werden kann...


        Ich habe jetzt hier mal einen Seitenausschnitt ohne Daten:
        (s. Anhang php_globale_variable.jpg)

        Wichtig ist die Spalte "Proc". Bei ID 2-3 ist diese in der Datenbank auf 1=> Das Häkchen wird nicht angezeigt. Bei ID 1 ist es jedoch auf NULL => wird angezeigt. Und wenn man draufklickt soll eben dafür gesorgt werden, dass der Wert sich eben auch auf 1 ändert.
        Das passende SQL-Kommando weiß ich. Aber mir ist unklar, wie ich dem Script klar machen soll, welche Datensatz er ändern soll (da while-Schleife).


        Zitat von tkausl
        So wird es allerdings schwierig zu helfen.
        Die sog. warn-list.php (Nehmt sie einfach als index.php. Kommt hier auf das gleiche drauf raus)
        PHP-Code:
        <html>
            <head>
                <?php
                    
        include ("../connection.php");
                    
        $ergebnis mysql_query ("SELECT * FROM verwarnung ORDER BY warndate DESC, warntime DESC");
                    
        $warnid 1;
                
        ?>
                <link rel="stylesheet" type="text/css" href="../style.css">
                <title>
                </title>
            </head>
            <body style="background-color: #e7e7e7; overflow-y: scroll;">
                <?php
                    
        echo "
                            <div class='list'>
                                <div class='overfield'>
                                    <div class='feldhaken'>
                                        Proc
                                    </div>
                                    <div class='feldban'>
                                        Ban
                                    </div>
                                    <div class='feldid'>
                                        ID
                                    </div>
                                    <div class='feld1'>
                                        Name
                                    </div>
                                    <div class='feld1'>
                                        Datum
                                    </div>
                                    <div class='feld1'>
                                        Uhrzeit
                                    </div>
                                    <div class='feld1'>
                                        Team
                                    </div>
                                    <div class='feld2'>
                                        Grund/Anmerkung/Beobachtung
                                    </div>
                                    <clear></clear>
                                </div>
                        "
        ;

        //---------------WHILE ANFANG-----------------
                    
        while ($row mysql_fetch_object ($ergebnis)){
                        echo 
        "
                            <overfield2>
        <!-- ---------------HAKEN--------------------- -->
                                <div class='feldhaken'>"
        ;
                        
        $warniddb $row->warnid;
                        global 
        $warniddb;
                        
        $warnproc $row->warnproc;
                        if (
        $warnproc == 0) {
                            echo 
        "<a href='warn_proc.php'><img id='ergebnis' src='../IMG/haken.png' /></a>";
                        }elseif (
        $warnproc == 1) {
                            echo 
        "<img src='../IMG/haken_leer.png' />";
                        }else{
                            echo 
        "ERROR!FALSCHER PARAMETER IN SPALTE WARNID!ERROR";
                        }
                        echo 
        "
                                </div>
        <!-- -------------------HAKEN ENDE----------------- -->
                                <div class='feldban'>"
        ;
                        
        $warnban $row->warnban;
                        if (
        $warnban == 1) {
                            echo 
        "<img src='../IMG/red_bullet.png' />";
                        }elseif (
        $warnban == 0){
                            echo 
        "<img src='../IMG/green_bullet.png' />";
                        }else{
                            echo 
        "ERROR!FALSCHER PARAMETER IN SPALTE WARNBAN!ERROR";
                        }
                        echo 
        "
                                </div>
                                <div class='feldid'>
                                    "
        ,$warnid,"
                                </div>
                                <div class='feld1'>
                                    "
        ,$row->warnname,"
                                </div>
                                <div class='feld1'>
                                    "
        ,$row->warndate,"
                                </div>
                                <div class='feld1'>
                                    "
        ,$row->warntime,"
                                </div>
                                <div class='feld1'>
                                    "
        ,$row->warnteam,"
                                </div>
                                <div class='feld2'>
                                    "
        ,$row->warnreas,"
                                </div>
                            </overfield2>
                            <clear></clear>
                        "
        ;
                        
        $warnid $warnid 1;
                    }
        //------------------------------WHILE ENDE-----------------
                    
        echo "</div>";
                
        ?>
                <script type="text/javascript">
                    var x;
                    if (self.innerHeight) // all except Explorer
                    {
                        x = self.innerWidth;
                    }
                    else if (document.documentElement && document.documentElement.clientHeight)
                    // Explorer 6 Strict Mode
                    {
                        x = document.documentElement.clientWidth;
                    }
                    else if (document.body) // other Explorers
                    {
                        x = document.body.clientWidth;
                    }
                    
                    var width = x - 22
                    var width = width - 22
                    var width1234 = width * 0.1516
                    var width5 = width * 0.241
                    for (var i = 0; i < document.querySelectorAll(".feld1").length; i++) {
                    document.querySelectorAll(".feld1")[i].style.width = width1234; }
                    for (var i = 0; i < document.querySelectorAll(".feld2").length; i++) {
                    document.querySelectorAll(".feld2")[i].style.width = width5; }                    
                </script>
            </body>
        </html>
        Hier kommt das andere Script (warn_proc.php)
        PHP-Code:
        <?php
            
        include ("../connection.php");
            global 
        $warniddb;
            
        $abfrage = ("UPDATE verwarnung SET warnproc = '1' WHERE warnid = '$warniddb'");
            
        $abaendern mysql_query ($abfrage);
            echo 
        "<meta http-equiv='refresh' content='0; url=warn-list.php'>";
        ?>

        Ich weiß. Zwischen beiden besteht keine Verbindung. Ich weiß aber auch nicht, wie ich das anstellen soll... Eine möglichkeit ist da das Formular <form>...</form> aber das ist hier ja sinnlos. Oder?

        Ich hoffe das geht jetzt besser
        Aber wenn ihr mir trotzdem nur Denkanstöße geben könntet wäre das super. Ich will ja selber denken

        LG,
        Auran

        EDIT:
        Zitat von ChristianK Beitrag anzeigen
        Wenn du schon mit Globals um dich schwingen willst kann das nichts gutes heissen.

        Ansätze wirst du hier vergeblich suchen.
        Wie meinst du das? Wenn es eine andere Möglichkeit als globale Variablen gibt, bitte. Mir hat nur jemand gesagt, dass es damit funktioniert und ich habe wie gesagt da jetzt nicht wirklich die Ahnung davon... Siehe weiter oben (Fortgeschrittene... Kaum zu glauben, wie blöd ich bin ^^)

        Warum suche ich hier Ansätze vergeblich? Weil ich kein Script poste? Dann habe ich ja damit abgeholfen. Sonst?
        Angehängte Dateien

        Kommentar


        • #5
          Wie ich schon sagte, per GET-Parameter.

          PHP-Code:
                              echo "<a href='warn_proc.php?id=".$row->warnid."'><img id='ergebnis' src='../IMG/haken.png' /></a>"
          [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

          Kommentar


          • #6
            Super. Jetzt verstehe ich und es funktioniert. Jetzt werde ich mir sowohl das Anfänger-Forum als auch den GET-Parameter hinter die Ohren schreiben Danke.

            Kommentar

            Lädt...
            X