Announcement

Collapse
No announcement yet.

Linkname erfragen (kein Get in dem Fall)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linkname erfragen (kein Get in dem Fall)

    Hallo allerseits,

    ich habe ien Problem, unzwar möchte ich den Linkname meines Links irgendwie abfragen. Dieser Linkname soll dann als Wert in die Datenbankabfrage
    mit eingebunden werden.
    PHP Code:
    <div id ="suche">
    <?php
     $click 
    0;
     if (isset(
    $_POST['button_suche']))
        {
        if(isset(
    $speicher_array)) 
            {    echo 
    "<label><strong>Datenbankergebnisse:</strong></label>";
        echo 
    'Es wurden '.$anzahl_zeilen.' Datensätze gefunden'.'<br>'
        
    echo '<ul>';
        
    $i 0;
        while(
    $i $anzahl_zeilen )
        {echo 
    '<li>'.'<a href="suche_lagerungen_mobiler_tisch.php?click=1 ">'.$speicher_array[$i].'</a>'.'</li>';
            
    $i++;    }
            echo
    '</ul>';
            }else 
            {echo 
    "kein Datenabankeintrag vorhanden!" ;}    
            }
    ?> </div>

    <div id ="ausgabe">
    <?php
    if (isset($_GET['click']))
      {
    $click $_GET['click'];
        if (
    $click == 1)
         {    
         include
    'datenbankverbindung.php';
         
    $error_connect_server=mysqli_connect_error($verbindung);
         if(
    $verbindung)
        {
        
    mysqli_select_db($verbindung$datenbank2); 
        
    $error_connect_db=mysqli_error($verbindung);
        if(
    mysqli_error($verbindung)) 
         {
        echo 
    'Fehlerrückgabe von mysqli_error($verbindung)'.$error_connect_db.'<br>';
         }
        else 
        {
        
    $sql3"SELECT a, b, c FROM tabelle WHERE name = '$linkname' ";
        
    $abfrage3 mysqli_query($verbindung$sql3);
        
    $abfrageergebnis3 mysqli_fetch_assoc($abfrage3);
        
    $anzahl_spalten3 mysqli_num_fields($abfrage3);
        echo 
    "<p>Hier sehen Sie das Ergebnis der Datenbankabfrage zu<strong>$linkname</strong></p>";
        echo 
    "</br>";
        echo 
    "<table>";
        echo 
    "<tr>";
        echo 
    "<th>a</th>";
        echo 
    "<th>b</th>";
        echo 
    "<th>c</th>";
        echo 
    "</tr>";
        echo 
    "<tr>";
        foreach (
    $abfrageergebnis3 AS $key => $value )
        {
        if(
    is_null($value) == true)
          {
          echo 
    "<td>kein Eintrag vorhanden</td>";    
          }
            else 
          {
          echo 
    "<td>{$value}</td>";
          }
         }
          echo 
    "</tr>";
          echo 
    "</table>";
          
    mysqli_free_result($abfrage3);
        .
        .
        .
    ?>
    Ich hab schon in vielen Foren nach geschaut, nur da ist immer die Rede von GET übergabe, das mache ich hier schon aber das nutze ich für etwas anderes.
    Ich brauch unbedingt den name des Links, da der ja Später mit in die Datenbankabfrage eingebunden wird.

    Kann mir jemand helfen, wie das gehen könnte?

    Vielen Dank!

  • #2
    GET und POST sollten nicht gemischt werden.

    nur da ist immer die Rede von GET übergabe, das mache ich hier schon aber das nutze ich für etwas anderes.
    Da scheint doch etwas konzeptionell falsch zu sein

    -$speicher_array[$i] nochmals in ein Hiddenfeld schreiben
    - Du kannst Daten in einer Session speichern und sie so erhalten
    Zuletzt editiert von Christian Marquardt; 03.08.2011, 16:57.
    Christian

    Comment


    • #3
      was meinst du genau mit konzeptionell falsch?

      hidden felder werden doch in formularen eingesetzt. ( auch nur da oder ?)
      meinst du ich soll in dem div mit der id = "suche" noch ein formular (name = "linkname") um den php-code einfügen? und der hidden valuen ="<?php ..alles was im div steht , dort wo der link enthalten ist ?>"
      $linkname = $_POST ['linkname'];
      denkst du so ?

      sorry kanns gerade nicht ausprobieren.

      Comment


      • #4
        Mit
        if (isset($_POST['button_suche']))
        musst du ja irgendwo einen POST-Request auslösen oder der Code ist sinnlos. Wenn du in diesem Programmabschnitt Daten haben willst, musst du sie wohl per Formularfelder übermitteln. Dann kannst du die Information in ein Hiddenfeld schreiben.
        Christian

        Comment


        • #5
          ...ok....ich glaube ich sollte noch was hinzufügen, da zu meinem code noch was gehört, bei dem ich dachte ich könnte das für die erklärung weglassen. sorry erstmal!

          ich hoffe, das diese erklärung das problem etwas näher erläutert

          hier mal die kurze erlärung der ganzen scriptes:

          PHP Code:

           <div id = "suche1_auswahl">
              <form action="<?php echo $_SERVER['SCRIPT_NAME']  ?>" method ="Post">
              <?php
                    $sql 
          = .....
                 
          /*Hier wird eine Datenbankverbindung aufgebaut, sql abfrage gestartet, das zurückgegebene in <option> felder ausgegeben,
                      * --> diese options können dann angwählt werden. daraufhin wird dann die eigentliche Suche durch betätigung des BUttons
                  * mittels einer anderen  sql-abfrage gestartet. */

              
          &speicher_array = ...../*Speicher über while schleife alle datensätze (datensätze enthalten nur eine spalte)*/
              
          ?>
                  <input type = "submit" name ="button_suche1" value ="button_suche1_angeclickt"    
                  </form>
           </div>

          <div id ="suche_2"(was id = "suche " im obigen post ist) >
          <?php  ....
          /*diese gespeicherten Datensätze sollen hier in Form eines Links angezeigt werden*/
          /*wenn nun auf den Link gecklickt wird, soll eine weitere datenbankabfrage starten!!(im nächsten div) 
          * dazu soll der Wert (=linkname)  übernommen werden, da dieser in der abfrage mit eingebunden wird  */
          ....?>
          </div>

          <div id = "ausgabe">
          <?php....
          /*wenn auf link gecklickt wurde, wird erneut ein abfrage ausgeführt, die den linkname enthält */
          /* --> dann wird das ergebnis in tabellarischer form  darsgestellt*/
          ...?>
          </div>
          das passiert alles auf eine seite. eine weiterleitung auf eine andere php datei wollte ich vermeiden. durch das anklicken des links soll sich die seite immer
          weiter aufbauen. es wird praktisch eine eingrenzung von Information durchgeführt.

          darum brauche muss ich irgendwie den linkname.

          ich hoffe das ist jetzt verständlicher rübergekommen.

          Vielen Dank für die Hilfe

          Comment


          • #6
            Wenn ich das richtig verstanden habe, musst du den Link hier

            {echo '<li>'.'<a href="suche_lagerungen_mobiler_tisch.php?click=1 ... LINK... ">

            als Parameter anhängen.
            Christian

            Comment


            • #7
              ...im Prinzip wäre das die antwort. aber: da die Links dynamisch sind, d. h. das wenn mehrere datensätze ausgegeben werden, werden auch mehr links ($speicher_array[$i] ) ausgegeben. jeder datensatz entspricht ein link. $speicher_array[$i] = 'i-ter linkname'

              also wenn ich das tue:
              PHP Code:
              <div >
              <?php...
                 echo '<li>'.'<a href=".lalala.php?click=1&name_link={$speicher_array[$i]}">'.$speicher_array[$i].'</a>'.'</li>'; 
              .....?>
              </div>

              <div >
              <?php...
              echo "<h1>{$_GET['name_link']}</h1>";
              ..?>
              </div>

              ..wird mir der übergeben linkname nur als string ausgegeben.
              dann steht dort: "{$speicher_array[$i]}"

              das ist ja mein Problem. ich suche nach was, das ich direkt eine Variable ($speicher_array[$i])
              übergeben kann., da die variable ja dynamisch ist.

              oder ist das so nicht möglich???

              viele Grüße

              danke

              Comment


              • #8
                ".lalala.php?click=1&name_link=".{$speicher_ar ray[$i]}."

                probiert?
                Christian

                Comment


                • #9
                  ..habs probiert.
                  da der inhalt von href in " " steht , wird das erste " wenn ich
                  PHP Code:
                  ..&linkname ".{$speicher_array}." 
                  schreibe als end " erkannt und es kommt eine fehlermeldung.

                  Auch mit ' gehts nicht. die werden auch als end ' erkannt, da ich das listenelement , linkelement und die variable mit ' aneinander reihe.

                  hmmm......

                  Comment


                  • #10
                    ...so gings denn
                    PHP Code:
                    ...echo '<li>'.'<a href="lala.php?click=1&name_link='.$speicher_array[$i].'       "  >'.$speicher_array[$i].'</a>'.'<br>'

                    Vielen DAnk!!!!!!!!!!!!!!!!!!

                    Comment

                    Working...
                    X