Webstatt.org - Community seit 2006 - 2012 (2024?)

Problem mit meiner Suche

user-308
05.04.2006 16:43

Hallo leute,

versuche heute wie verrückt meine suche fertig zustellen. leider scheiterts immer. In meiner Datenbank werden nummer eingetragen 00011122222333. Nach jeder dritten stelle macht er mir einen leerraum damit es viel übersichtlicher ist. 000 111 222 223 33. Wenn ich jetzt eine nummer suchen will so muss ich bis jetzt immer mit einem leerraum dazwischen im formular eintippen. will das jetzt aber ohne leerraum ins formular eintragen und dann soll er mir die passenden nummern formatiert mit dem leerraum dazwischen ausgeben. Anbei mal ein code von meiner suche.:


<?
if($_GET[select]!="" OR $_POST[send]=="send"zwinkern {

if($_POST[select]==""zwinkern { $select = $_GET[select]; } else { $select = $_POST[select]; }
if($_POST[where]==""zwinkern { $where = $_GET[where]; } else { $where = $_POST[where]; }
if($_POST[begriff]==""zwinkern { $begriff = $_GET[begriff]; } else { $begriff = $_POST[begriff]; }

$query2 = mysql_query("SELECT * FROM $select WHERE $where LIKE '$begriff%' ORDER BY id DESC"zwinkern;
$count = mysql_num_rows($query2);

if(!$_GET[v]==""zwinkern {
$select1 = "SELECT * FROM $select WHERE $where LIKE '$begriff%' ORDER BY id DESC LIMIT $_GET[v],20";
$query1 = mysql_query($select1);
} else {
$select1 = "SELECT * FROM $select WHERE $where LIKE '$begriff%' ORDER BY id DESC LIMIT 0,20";
$query1 = mysql_query($select1);
}
echo "Es wurden <b>$count</b> Einträge gefunden!";
echo "<table width='750'>";
echo "<tr>";
echo "<td class='bgcolor2' width='25'><b>ID</b></td>";
echo "<td class='bgcolor2' width='350'><b>Bezeichnung</b></td>";
echo "<td class='bgcolor2' width='150'><b>Test 1</b></td>";
echo "<td class='bgcolor2' width='370'><b>Nummer</b></td>";
echo "<td class='bgcolor2' width='250'><b>Eingangsdatum</b></td>";
echo "<td class='bgcolor2' width='250'><b>Ausgangsdatum</b></td>";
echo "</tr>";
$i=0;
while($tt = mysql_fetch_array($query1)) {
if($tt[status]==1) { $img = "<img src='img/1.gif'>"; }
if($tt[status]==2) { $img = "<img src='img/2.gif'>"; }
if($tt[status]==3) { $img = "<img src='img/3.gif'>"; }
if($tt[status]==4) { $img = "<img src='img/4.gif'>"; }
if($i%2==0) {
echo "<tr>";
echo "<td class='bgcolor1' width='25'>$gw[id]</td>";
echo "<td class='bgcolor1' width='350'><a href='test.php?modul="; if($select=="tausch"zwinkern { echo "tt"; } else { echo "gw";} echo "_detail&id=$gw[id]'>$gw[bezeichnung]</a></td>";
echo "<td class='bgcolor1' width='150'>$gw[]</td>";
echo "<td class='bgcolor1' width='370'>$gw[]</td>";
echo "<td class='bgcolor1' width='250'>$gw[]</td>";
echo "<td class='bgcolor1' width='250'>$gw[]</td>";
echo "</tr>";
} else {
echo "<tr>";
echo "<td class='bgcolor2' width='25'>$gw[id]</td>";
echo "<td class='bgcolor2' width='350'><a href='test.php?modul="; if($select=="tausch"zwinkern { echo "tt"; } else { echo "gw";} echo "_detail&id=$gw[id]'>$gw[bezeichnung]</a></td>";
echo "<td class='bgcolor2' width='150'>$gw[]</td>";
echo "<td class='bgcolor2' width='370'>$gw[]</td>";
echo "<td class='bgcolor2' width='250'>$gw[]</td>";
echo "<td class='bgcolor2' width='250'>$gw[]</td>";
echo "</tr>";
}
$i++;
}
?>

Avatar user-125
05.04.2006 17:05

Mal mit
LIKE '%".$begriff."%'
versucht?

Liebe user-125y aka user-125 aka dionysos
Avatar user-255
05.04.2006 17:10

Ne user-125, geht leider nicht. Warum speicherst du die Zahlen nicht einfach ohne Leerzeichen?

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-308
05.04.2006 18:14

weil ich diese zahlen dann schön formatiert rausgegeben bekomme. geht es anderst rum das ich sage in der datenbank werden sie ohne leerraum gespeicht aber ausgegen sollen sie mit dem leerraum werden?

Avatar user-118
05.04.2006 18:19

Original von user-308
weil ich diese zahlen dann schön formatiert rausgegeben bekomme. geht es anderst rum das ich sage in der datenbank werden sie ohne leerraum gespeicht aber ausgegen sollen sie mit dem leerraum werden?


Ja natürlich, ob du die Einträge nun vor dem Speichern formatierst oder beim Auslesen vor dem Ausgeben kommt ja aufs gleich heraus... die siehst die Zahl immer im Format
123 456 789 0

Du musst ja irgendeine Funktion haben, die die Zahlen vor dem Eintrag in die DB formatiert, diese Funktion lässt du einfach bei der Ausgabe durchlaufen.

mfg alex

Ich brauche keine Signatur
user-308
05.04.2006 18:25

habe das beim eintragen.:


if($_POST[send]=="send"zwinkern {
if($_POST[anummer]==""zwinkern { $fehler1=1; }
if($_POST[tnummer]==""zwinkern { $fehler2=1; }
if($_POST[bezeichnung]==""zwinkern { $fehler3=1; }
$aufnummer = strlen($_POST[anummer]);
if($aufnummer<5) { $fehler5=1; }
if($fehler1==1 OR $fehler2==1 OR $fehler3==1 OR $fehler4==1 OR $fehler5==1) {
echo "Folgende Fehler sind aufgetreten:<br>";
if($fehler1==1) { echo "-<span class='red'>Sie haben vergessen eine Auftrag einzutragen.<br>"; }
if($fehler2==1) { echo "-<span class='red'>Sie haben vergessen eine Nummer einzutragen!</span><br>"; }
if($fehler3==1) { echo "-<span class='red'>Sie haben vergessen eine Bezeichnung einzutragen!</span><br>"; }
if($fehler5==1) { echo "-<span class='red'>Sie haben vergessen die Auftrag zu ergänzen!</span><br>"; }
echo "<br><br><a href='javascript:history.back()'>zur&uuml;ck</a>";
} else {
$time = date("H:i:s"zwinkern;
$lager = substr($_POST[anummer],4,1);

$teilenummer = $_POST[tnummer];
$tnummer_l = strlen($teilenummer);
$tnummer_r = $tnummer_l / 3;
$i=0;
while($i<$tnummer_r+2) {
$start = $i * 3;
$tnummer_s = substr($teilenummer,$start,3);
$tnummer_t .= $tnummer_s." ";
$i++;
}