Sofortüberprüfung

wolle-

Mitglied
Hallo alle zusammen.

Habe einen schweren Fall!
(Eingabeformular)
Ich probiere folgendes aus:

3 Zeilen ->

1. Betrieb
2. Monat
3. Jahr

Wählt man nun Betriebt - Monat und Jahr aus, soll geprüft werden (sofort)
ob der Eintrag in der Datenbank schon vorhanden ist.
Das führt bei uns immer zu fehleingaben - die Leute geben die Daten ein und bekommen dann den Fehler beim abschicken. Das ist natürlich nicht der Sinn der Sache.

Sagen wir mal es ist schon ein Datensatz in der Datenbank mit Betrieb VW Monat 09 Jahr 2006 - und ich wähle genau diese Daten aus.

Dann soll er mir nicht das eingabe Formular zeigen sondern - Für diesen Monat wurden bereits einige Daten eingegeben, um diese zu ändern klicken Sie HIER!

Habe schon mit POST und GET rumgefummelt.

Ich kriege ums verrecken nichts hin ! :(

Kann mir bitte jemand helfen? (Brauche das dringendst) ;-)

Gruß Saris
 
Hallo!

Also ich versteh jetz das Problem nicht ganz.

Du frägst im ersten Formular die drei Daten ab, und nach dem Absenden prüfst Du das gegen die DB, je nachdem was da rauskommt gibst Du dem Anwender das Eingabeformular oder wiederum das "Wähle drei Daten aus" Formular mit einer Meldung zurück.

Ohne Absenden des Formulars die Daten gegen die DB zu prüfen dürfte mit PHP nicht machbar sein. Das geht vielleicht mit JavaScript.

Grüße

Martin
 
Ich habe da mal so ein Beispiel gesehen da war ein check() denke in Javascript und dann gaaaanz viel Post

Und das Ausgabefeld sah dann so aus:

Code:
<script type="text/javascript" language="JavaScript">
   
   var oldstring
   
   function check()
   {
      document.form2.target="_self";
   document.form2.submit();
   }
   
   function CheckNumbers(obj) 
   {
     var text = obj.value;
  if(isNaN(text)==true)
    {
     obj.value=oldstring;
    }
    else
    {
     oldstring=text;
     if(text=="" || text=="undefined") 
        {
      text="";
     }
    }
 }
 
</script>

PHP:
<?php
   $speichern=0;
   $derzmodwert=$_POST['derzmodell'];
   $derzverkwert=$_POST['wunschverk'];
   $intherstwert=$_POST['intherst'];
   $derzcarwert=$_POST['actualcar'];
   $intmodwert=$_POST['intmodell'];
   $wname1=$_POST['name1'];
   $wname2=$_POST['name2'];
   $wstreet=$_POST['street'];
   $whouse_no=$_POST['house_no'];
   $wpcode=$_POST['pcode'];
   $wcity=$_POST['city'];
   $wphone=$_POST['phone'];
   $wmbphone=$_POST['mbphone'];
   $wemail=$_POST['email'];
   $wfax=$_POST['fax'];
   $wneugebraucht=$_POST['neugebraucht'];
   $wpreisvst=$_POST['preisvst'];
   $wbemerk=$_POST['bemerk'];
   $wsubmit=$_POST['Submit2'];
         if(!$wname1) $mname1="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mname1="";
         if(!$wname2) $mname2="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mname2="";
         if(!$wstreet) $mstreet="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mstreet="";
         if(!$whouse_no) $mhouse_no="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mhouse_no="";
      if(!$wpcode OR (strlen($wpcode)<>5)) $mpcode="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mpcode="";
         if(!$wcity) $mcity="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mcity="";
         if($wneugebraucht=='Bitte wählen') $mneugebraucht="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mneugebraucht="";
         if($derzmodwert=='Hersteller wählen') $mderzmodwert="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mderzmodwert="";
         if($intherstwert=='Hersteller wählen') $mintherstwert="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mintherstwert="";
         if($derzcarwert=='Modell wählen') $mintherstwert="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mintherstwert="";
         if($intmodwert=='Modell wählen') $mintherstwert="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mintherstwert="";
         if(!$wphone) $mphone="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mphone="";
   if(!$wbemerk) $mbemerk="&nbsp;&nbsp;<b><font color=\"#ff0000\"></font></b><br>"; else $mbemerk="";
   
   if(!$mname1 AND !$mname2 AND !$mstreet AND !$mhouse_no AND !$mpcode AND !$mcity AND !$mneugebraucht AND !$mderzmodwert AND !$mintherstwert AND !$mphone AND !$mbemerk) $speichern=1;
   if($name1 || $name2 || $phone) 
         {
                $query2 = "insert into ".$tabletag."_logs (datum, user, adressname, details) VALUES ('$datum', '$user', '$adressname', '$details')";
          mysql_query($query2);
               }
   
   $qryupd = "UPDATE ".$tabletag."_user SET adressen='$eingadresse', vpkonto='$aktvpkonto' WHERE id='$user'"; 
   mysql_query($qryupd);
   # echo "<br>".$qryupd;
         
   $derzmodwert="";
   $intherstwert="";
    $derzcarwert="";
    $intmodwert="";
    $wname1="";
    $wname2="";
    $wstreet="";
    $whouse_no="";
    $wpcode="";
    $wcity="";
    $wphone="";
    $wmbphone="";
    $wemail="";
    $wfax="";
    $wneugebraucht="";
    $wpreisvst="";
    $wbemerk="";
   $derzverkwert="";
           }
}
?>

Und das Formular:

HTML:
     <select name="derzmodell" id="derzmodell" onchange="check()">
                    <option>Hersteller w&auml;hlen</option>
                    <?php
                      while($row = mysql_fetch_array($ergebnis))
                         {
        $hertyp =$row['texthertyp'];
        if ($hertyp==$derzmodwert)
        {
        echo "<option selected value=\"$hertyp\">$hertyp</option>";
        }
        else
        {
        echo "<option value=\"$hertyp\">$hertyp</option>";
                          }
       }
                    ?>
                  </select>


Das verstehe ich aber nicht und noch weniger wie ich das auf mein Beispiel ändern kann, dass er überprüft ob schon einer in der Datenbank ist.

Und wenn das wirklich NUR mit javascript geht - kann mich dann bitte jemand dahin verschieben?

Danke Wolle ;-]
 
Habe die lösung noch nicht gefunden.
Habe schon voll viel ausprobiert :-)

Kann mir denn hier keiner Helfen? Bitte :|

Danke euch !

Gruß Wolle
 
Lebt in diesem Forum eigentlich wer?

Kaum wurde ich hierher verschoben, antwortet mir keiner mehr.. :mad:

Gruß Wolle
(Problem besteht weiterhin!)
 
Hi,

wie Gumbo schon sagte informiere dich mal über Ajax. Ich würde dir gerne helfen, aber ich weiß nicht wo dein Problem liegt?

pMx
 
Huhu, danke für die Antwort.

Problem ist, dass ich den Monat, das Jahr und den Betrieb auswählen und DANN wenn alle 3 ausgewählt sind, soll er sagen STOP schon vorhanden, bitte Ändern.
Sollte noch keiner vorhanden sein, bitte neu anlegen Formular.

:-(

Gruß Wolle
 
Hallo alle zusammen,

um mal auf das Thema Ajax zurückzukommen.
Habe mich nun ein wenig damit beschäftigt und ausprobiert.

Voerst mal der Code:

Code:
<html><head>
<title>KDL Formular</title>
<script type="text/Javascript">
<!--
function createXMLHttpRequest() {
var ua;
if(window.XMLHttpRequest) {
    try {
      ua = new XMLHttpRequest();
    } catch(e) {
      ua = false;
    }
  } else if(window.ActiveXObject) {
    try {
      ua = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      ua = false;
    }
  }
  return ua;
}
var req = createXMLHttpRequest();
function sendRequest() {
  id = document.getElementById('dropdown').value;
  req.open('get', './content/admin/func.php?s='+ id);
  req.onreadystatechange = handleResponse;
  req.send(null);
}
function handleResponse() {
  if(req.readyState == 4){
    document.getElementById('inhalt').innerHTML = req.responseText;
  }
  else
  alert("loading" + ajax.readyState);
}
//-->
</script>
</head>
<body>
<p />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitte w&auml;hlen Sie 
Betrieb, Monat sowie Jahr aus! 
<p />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="Betrieb" type="text"  size="1">
          <option selected value="bitte auswählen">bitte auswählen</option>
          <option value="VWZK">VWZK</option>
          <option value="AZK">AZK</option>
          <option value="VWW">VWW</option>
          <option value="AudiW">AudiW</option>
          <option value="Huels">Huels</option>
        </select>
  
  <select name="Monat" type="text" size="1">
          <option selected value="bitte auswählen">bitte auswählen</option>
          <option value="01">1 - Januar</option>
          <option value="02">2 - Februar</option>
          <option value="03">3 - März</option>
          <option value="04">4 - April</option>
          <option value="05">5 - Mai</option>
          <option value="06">6 - Juni</option>
          <option value="07">7 - Juli</option>
          <option value="08">8 - August</option>
          <option value="09">9 - September</option>
          <option value="10">10 - Oktober</option>
          <option value="11">11 - November</option>
          <option value="12">12 - Dezember</option>
        </select>
  
   <select  id="dropdown" name="Jahr" type="text" size="1" onChange="sendRequest()">
          <option selected value="2006">2006</option>
          <option value="2007">2007</option>
          <option value="2008">2008</option>
        </select>
  <br><br>
 
 
 

<select id="dropdown" onChange="sendRequest()">
<?
include 'connect.php'; // Hier die Verbindung zur Datenbank herstellen
$result = mysql_query("SELECT ID,Betrieb,Jahr,Monat FROM `test_kdkennzeichen` ; ");
 
while($row = mysql_fetch_object($result))
{
 echo '<option value="'.$row->Monat.'">'.$row->Monat.'</option>';
}

?>
</select>
<div id="inhalt"></div>
</body></html>

hier die func.php

PHP:
<?
include 'connect.php'; // Hier die Verbindung zur Datenbank herstellen
//Inhalte laden
$result = mysql_query("SELECT ID,Betrieb,Jahr,Monat FROM `test_kdkennzeichen` WHERE ID AND WHERE Monat AND WHERE Jahr AND WHERE Betrieb  = '".$_GET['s']."'; ");

if('.$row->Monat' && '.$row->Jahr' && '.$row->Betrieb' == !0 ) 
{
echo  '$result Für diesen Monat wurde bereits etwas eingetragen';
}
else
{
echo "Für diesen Monat wurde noch nichts eingetragen";
}
?>

Leider funktioniert das nicht so wie ich es möchte.

Der sagt mir dann immer wenn ich ein Jahr aussuche

"$result Für diesen Monat wurde bereits etwas eingetragen"

Bin mir da garnicht so sicher, ob der da was nachguckt ...


Hoffe auf hilfreiche Antworten.

Vielen Dank!!

Gruß Wolle
 

Neue Beiträge

Zurück