php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.12.2010, 17:15  
Neuer Benutzer
 
Registriert seit: 10.12.2010
Beiträge: 2
PHP-Kenntnisse:
Anfänger
steffman befindet sich auf einem aufstrebenden Ast
Standard Eingabefeld

Hallo zusammen!
Ich versuche seit ein paar Stunden ein bestehendes Fragebogen-Script zu optimieren. Andere Foren und Tutorials konnten mir bislang nicht weiterhelfen.

Das Skript lässt nur die Erstellung von Statistikfragen zu. Ich brauch aber für meine Auswertung auch Fragen, die mit eigenen Worten zu beantworten sind.

Lange rede kurzer Sinn Wie bekomme ich ein Eingabefeld in meinen Fragebogen, dass dessen Inhalt in irgend einer Form irgendwo abspeichert???

Das Script arbeitet mit einer PHP Datei, die sich die Informationen (Fragen und Antwortmöglichkeiten) aus einer Datenbank zieht. Jede Frage hat dabei einen Datensatz, bestehend aus ID, Question, Option, votes, ip, status, multi, multi_count, display, pullbreak und doublevo

http://steffen-schneider.eu/sv_umfra...#sv_ergebnisse

achja... ich bin Anfänger...
steffman ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.12.2010, 17:29  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Na dann speicher die Antwort doch auch in der Datenbank?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 11.12.2010, 14:36  
Neuer Benutzer
 
Registriert seit: 10.12.2010
Beiträge: 2
PHP-Kenntnisse:
Anfänger
steffman befindet sich auf einem aufstrebenden Ast
Standard

So habe ich mir das auch vorgestellt...
aber wie mache ich das?

Ich denke ich brauche in der PHP-Datei den entsprechenden Code-Schnipsel, der mir ein Eingabefeld generiert und die Verknüpfung zur Datenbank herstellt.

Wie sieht sowas aus?

hier der PHP-Code:

PHP-Code:
<?php

/* Einstellungen laden */
require("sv_admin/sv_configs.php");

function 
ip_exists($table,$id) {
         include 
"sv_admin/sv_configs.php";
         
$sql_conf mysql_query("SELECT * from $sv_configs LIMIT 1");
         
$sql_conf mysql_fetch_array($sql_confMYSQL_ASSOC);
         
$einheit $sql_conf['sperreinheit'];
         
$sperrzeit $sql_conf['sperrdauer'];
         
$sekundenanzahl $sperrzeit*$zeiteinheit[$einheit];
         
$sql mysql_query("SELECT * from $table WHERE id = '$id' LIMIT 1");
         
$data mysql_fetch_array($sqlMYSQL_ASSOC);
     
$search strstr($data['ip'], $_SERVER['REMOTE_ADDR']);
         if(!empty(
$search)) {
                  
$doit explode("#"$data['ip']);
                  for(
$x=0;$x<count($doit);$x++) {
                       
$findit explode("%"$doit[$x]);
                       if(
$findit[0]==$_SERVER['REMOTE_ADDR']) {
                          
$zeitabstand time()-$findit[1];
                          if(
$zeitabstand $sekundenanzahl) { return false; break;}
                          else { return 
true; break; }

                       }
                  }

         }
         else {
            return 
false;
            }
}

if(isset(
$_POST['ant'])) $ant $_POST['ant'];

/* Neue Antwort speichern */
if(isset($_POST['vote']) && ( isset($ant) || isset($_POST['multi']) || ( isset($_POST['ant0']) && $_POST['ant0'] != "empty" )) && !ip_exists($sv_umfragen,$_POST['id'])) {
   
$id $_POST['id'];
   
$sql mysql_query("SELECT * from $sv_umfragen WHERE id = '$id' LIMIT 1");
   
$data mysql_fetch_array($sqlMYSQL_ASSOC);
   
$votes explode(","$data['votes']);
   if(
$data['multi']==&& $data['display'] != "pulldown") {
    
$votes[$ant]++;
    
$votes implode(","$votes);
   }
   elseif(
$data['display'] == "pulldown") {
    
$double = array();
    for(
$x=0;$x<$data['multi_count'];$x++) {
        
$antx "ant".$x;
        if(
$data['doublevote'] == 0) {
            if(isset(
$double[$_POST[$antx]])) $votefail "Fehler: doppelte Stimmabgabe!";
        }
        if(
$_POST[$antx] != "empty") {
            
$votes[$_POST[$antx]]++; 
            
$double[$_POST[$antx]] = 1;
        }
        
    }
    
$votes implode(","$votes);

    
   }    
   else {
    
$z=0;
    for(
$x=0;$x<count($votes);$x++) {
            
$antx "ant".$x;
            if(isset(
$_POST[$antx])) { $z++; $votes[$x]++; }
    }
   
$votes implode(","$votes);
   if(
$data['multi_count'] < $z$votefail "Fehler: zu viele Stimmen abgegeben!";
   if(
$z == 0$votefail "Fehler: keine Stimmen abgegeben!";
   }

/* IP speichern für Sperre */
     
if(!isset($votefail)) {    
     
$search strstr($data['ip'], $_SERVER['REMOTE_ADDR']);
     if(empty(
$data['ip'])) $ip $_SERVER['REMOTE_ADDR']."%".time();
     elseif(empty(
$search)) $ip $data['ip']."#".$_SERVER['REMOTE_ADDR']."%".time();
     else {
    
$ip "";
    
$ips explode("#"$data['ip']);
    if(
count($ips)>1) {
        for(
$x=0;$x<count($ips);$x++) {
            
$search strstr($ips[$x], $_SERVER['REMOTE_ADDR']);
            if(!empty(
$search)) break;
        }
        
$ips[$x] = $_SERVER['REMOTE_ADDR']."%".time();
        
$ip implode("#"$ips);
    }
    else 
$ip $_SERVER['REMOTE_ADDR']."%".time();
     }
     
$sql mysql_query("UPDATE $sv_umfragen SET votes = '$votes', ip = '$ip' WHERE id = '$id' LIMIT 1");

   if(!
$sql) {
      echo 
"Fehler beim Aktualisieren...";
      
mysql_error();
       }
    }

}

         
/* Umfragen-Tabelle auslesen */
         
$sql mysql_query("SELECT * FROM $sv_umfragen");
         
$counter 0;
         
$umfragen mysql_num_rows($sql);
while (
$data mysql_fetch_array($sqlMYSQL_ASSOC)) {
 if(
$data['status'] == 1) {
               if(
$counter>0) echo $abstand;
               
/* Frage */
               
echo "<form style=\"padding:0px;margin:0px;\" action=\"".$_SERVER['REQUEST_URI'];
               echo 
"#sv_ergebnisse\" method=\"POST\">\n";
               echo 
"<div class=\"umfragentext\">";
               echo 
$data['question'];
           if(
$data['multi']==&& !ip_exists($sv_umfragen,$data['id'])) echo " <i>(max. ".$data['multi_count']." Stimmen)</i>";
           if(!empty(
$votefail)) echo "<br><b>$votefail</b>";
               echo 
"</div>\n";

               
/* Antwortmoeglichkeiten */
               
$options explode("%%"$data['options']);

         if(!
ip_exists($sv_umfragen,$data['id'])) {
               echo 
"<div style=\"padding-left:15px;text-align:left\">";

        
/* AUSGABE DER FRAGEN */    

        /* Pull-Down-Ansicht */

        
if($data['display'] == "pulldown") {
            
            if(
$data['multi'] == 1$y $data['multi_count'];
            else 
$y 1;
            for(
$x=0;$x<$y;$x++) {
                echo 
"<select name=\"ant$x\">";
                
$a=$x+1;
                echo 
"<option value=\"empty\" SELECTED>$a. Stimme\n";
                for(
$z=0;$z<count($options);$z++) {
                    echo 
"<option value=\"".$z."\">".$options[$z]."\n";

                }
    
                echo 
"</select>";
                echo 
$data['pullbreak'];

            }                

            
        }

        
/* Standard-Ansicht und Multi-Ansicht */
        
        
else {
                   for(
$x=0;$x<count($options);$x++) {
                          echo 
"<span class=\"umfrageoption\">";
              if(
$data['multi'] == 1) echo "<input type=\"hidden\" name=\"multi\" value=\"1\"><input name=\"ant$x\" type=\"checkbox\"> ";
              else echo 
"<input name=\"ant\" value=\"".$x."\" type=\"radio\"> ";
                          echo 
$options[$x]."</span><br>\n";
               }
        }
        
/* ENDE AUSGABE DER FRAGEN */
               
echo "</div>";
               echo 
"<br><input type=\"hidden\" name=\"id\" value=\"".$data['id']."\">\n";
               echo 
"<input type=\"submit\" name=\"vote\" value=\"abstimmen\" class=\"vote\"><br>\n";
         }

               if((isset(
$_POST['results']) && $_POST['id'] == $data['id']) || ip_exists($sv_umfragen,$data['id'])) {
                      
/* Ergebnisse anzeigen */
                      
$voters 0;
                      
$max_vote 0;
                      
$max_vote_pos 0;
                      
$votes explode(","$data['votes']);
                      for(
$x=0;$x<count($options);$x++) {
                           
$voters=$voters+$votes[$x];
                           if(
$votes[$x] > $max_vote) {
                               
$max_vote $votes[$x];
                               
$max_vote_pos $x;
                           }
                      }

              
/* Sortierung der Ergebnisse */
                  
switch($resultorder) {
            case 
1:
            
array_multisort($votesSORT_ASC$options);
            break;
            case 
2:
                
array_multisort($votesSORT_DESC$options);
            break;
              }

                      
$percentage = array();
                      
$hund 0;
                      
$pc 0;
                      
$end false;
                      while(!
$end) {
                            
$hund 0;
                            for(
$x=0;$x<count($options);$x++) {
                                   if(
$voters==0) {
                                       
$percentage[$x] = 0;
                                   }
                                   else {
                                       
$percentage[$x]=($votes[$x]*100)/$voters;
                                       
$percentage[$x]=round($percentage[$x],$pc);
                                   }
                                       
$hund $hund $percentage[$x];
                            }
                            
/* Nachkommastellenbestimmung */
                            
$pc++;
                            if(
$hund == 100 || $pc == 2) {
                                   
$end true;
                            }
                      }
                      echo 
"<a id=\"sv_ergebnisse\"></a><div class=\"umfrageoption\" style=\"text-align:left;padding-left:15px;padding-right:11px;padding-top:5px\">";
                      for(
$x=0;$x<count($percentage);$x++) {
                           if(
$max_vote == 0) {
                               
$blau 0;
                               
$grau $maxlaenge;
                               }
                           else {
                               
$blau ceil(($maxlaenge/$max_vote)*$votes[$x]);
                               
$grau $maxlaenge $blau;
                               }
                           
/* Falls man die führende Option farblich kennzeichnen möchte
                           if($blau>$maxlaenge) $blau=$maxlaenge;
                           echo $options[$x]."<br>\n";
                           echo "<img src=\"".$pfad."/sv_balken/balken_";
                           if($blau==$maxlaenge) echo "orange";
                           else echo $farbe;
                           */
                           
echo $options[$x]."<br>\n";
                           echo 
"<img src=\"".$pfad."sv_balken/balken_";
                           echo 
$farbe;
                           echo 
".gif\" height=\"12\" width=\"$blau\" border=\"0\" title=\"$votes[$x] Stimmen\" alt=\"$votes[$x] Stimmen\">";
                           echo 
"<img src=\"".$pfad."sv_balken/balken_".$farbe_bg.".gif\" height=\"12\" width=\"$grau\" border=\"0\" title=\"$votes[$x] Stimmen\" alt=\"$votes[$x] Stimmen\">\n";
                           echo 
$percentage[$x]."%<br>\n";

                      }
                      echo 
"</div>";
                      if(
$showvoters == 1) echo "<div class=\"umfragentext\">insgesamt $voters Stimmen</div>\n";
               }
               else {
                     echo 
"<input type=\"submit\" name=\"results\" value=\"Ergebnisse\" class=\"vote\">\n";
               }

               echo 
"</form>\n";
               
$counter++;
 }
}
if(
$counter == 0) echo "z.Zt. keine Umfrage aktiv";
?>
steffman ist offline   Mit Zitat antworten
Alt 11.12.2010, 15:19  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Es soll auch Spass machen zu antworten. Jetzt hier einfach dein Skript hinposten und auf den "macht mal" Effekt hoffen bringt erfahrungsgemäß relativ wenig.

Also nochmal: Dein Skript (es ist hoffentlich deins, andernfalls frage bitte den Entwickler um Rat) kann doch schon die Antwort einer angeklickten Checkbox speichern, wo ist jetzt das Problem, statt einer Checkbox ein Eingabefeld zu erzeugen und die Antwort genau auf die selbe Weise mit der Frage zu verbinden?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datenbank auslesen und im Eingabefeld ausgeben otni kaerb Datenbanken 1 09.11.2010 10:34
Mehrzeiliges Eingabefeld in DB schreiben Cyron PHP Tipps 2010 3 22.09.2010 16:06
Eingabefeld deaktivieren theSonGoku PHP Tipps 2009 11 02.10.2009 16:34
Eingabefeld mit timestamp -> durch Kalender bearbeitbar? BartTheDevil89 JavaScript, Ajax und mehr 6 07.06.2009 19:37
[Erledigt] zwei Formulare - ein Eingabefeld Jasper PHP Tipps 2009 6 09.02.2009 21:40
Dialogbox mit Eingabefeld - Javascript FBI HTML, Usability und Barrierefreiheit 1 28.08.2006 06:32
Eingabefeld und Button erzeugen PHP Tipps 2006 16 03.02.2006 00:10
zwei werte und ein eingabefeld PHP Tipps 2006 1 20.01.2006 16:21
Eingabefeld sperren, wenn Wert eingegeben wird Mike55 HTML, Usability und Barrierefreiheit 3 17.01.2006 19:24
text aus eingabefeld filtern PHP Tipps 2005 13 29.03.2005 17:06
Werte in Eingabefeld setzten! Boennchen PHP Tipps 2005 3 19.02.2005 16:00
Frage zu Eingabefeld! Boennchen HTML, Usability und Barrierefreiheit 4 11.02.2005 18:35
Per Radiobuttonklick ein Eingabefeld disablen Igäl HTML, Usability und Barrierefreiheit 9 07.10.2004 08:53
[Erledigt] text in eingabefeld einfügen u. umprogramierung einer taste PHP Tipps 2004 16 24.06.2004 12:01
Datum in Eingabefeld PHP Tipps 2004 7 22.06.2004 10:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php eingabefeld, eingabefeld php, php code eingabefeld, vote ip sperre, eingabefeld php double, php eingabefeld -formular, $ant = $_post[\antwort\];, ant value direkt aus datenbank auslesen, umfrage $ant = @$_post[\ant\]; alle ips speichern, if(!empty($_post)) { $id = $_post[\id\];

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum