php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.09.2005, 09:29  
Gast
 
Beiträge: n/a
Standard [Erledigt] Komplizierte Suchen in 2 Feldern

Hallo zusammen,
ich habe folgendes vor:

Meine Tabelle besteht aus 11 Feldern. Der User soll die Möglichkeit haben,
nach bestimmten Suchwörtern in der Tabelle zu suchen.
Der Suchort, steht schon in einem Dropdown-Menü (Suchort=Feldnamen der Tabelle).
Die ersten beiden Felder der Tabelle heißen host_id(Primärschlüssel, auto_increment) und host_name(Standartwert "D-E".

Beispiel:
host_name = D-E
host_id = 100001

Für den User wird auf der Seite nur "Hostname" mit dem Wert D-E100001
sichtbar.

Ich möchte nun, z.B: nach dem Wert D-E100001 suchen, jedoch sozusagen
in beiden Felder verknüpft. Da der Wert als ganzes ja nirgends steht.

Geht sowas!?

Beachtet bitte dabei, dass man nach den anderen Feldern (was ja kein Problem ist) auch suchen kann/muss,
jedoch nicht gleichzeitig, also so kompliziert will es nicht machen

Ich hoffe man kann verstehen was ich vor habe.
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.09.2005, 09:41  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

Wenn dein host_name eine feste länge/syntax hat, dann kannst du deine sucheingabe (wie z.b. D-E1000001) vorher splitten und dann mit WHERE host_name = 'D-E' AND host_id = '100001' suchen.
das sollte gehen, du musst nur deine suchparameter vorher zurechtschnippeln
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline   Mit Zitat antworten
Alt 01.09.2005, 09:45  
Gast
 
Beiträge: n/a
Standard

Teste doch mal folgende Abfrage:
Code:
SELECT
   host_name,
   host_id,
   CONCAT(host_name,host_id) AS suchort
FROM
   tabelle
WHERE
   CONCAT(host_name,host_id) = 'D-E100001'
~dilemma~
  Mit Zitat antworten
Alt 01.09.2005, 09:58  
Gast
 
Beiträge: n/a
Standard

@WarrenFaith
Werd ich glaub mal ausprobieren

@dilemma
Gute Idee, aber ich habe das bisher so:
PHP-Code:
<?php
"SELECT * FROM pc_essen WHERE $suchort LIKE '%$suchwort%' ORDER BY $sort" 
?>
Spricht, ich müsste doch dann NOCHMAL ein Extrafeld nur für Hostnamen
machen zum Abfragen. Oder?!

Evtl. mal den ganzen Quellcode

PHP-Code:
<?php
<html>
<
head>
<
title>abfrage</title>
</
head>
<
body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<?
php
// connect zur DB ------------------------------------------------------------------------
$db_host "localhost";
$db_user "root";
$db_pass "DataBase05";
$db_name "uhd";
// ---------------------------------------------------------------------------------------
$link mysql_connect($db_host$db_user$db_pass);
mysql_select_db("uhd"$link);

// Formular-------------------------------------------------------------------------------

?>
<form action="<?php echo $SELF_PHP ?>" method="post">
<table>
<tr><td>[b]Suchwort[/b]</td><td>
<input type="text" name="suchwort" value="<?php echo $_POST['suchwort']; ?>">
</input></td></tr>

<?php $res mysql_query("SELECT * FROM pc_essen"); ?>

<tr><td>[b]Suchen in[/b]</td><td>
<select value="<?php echo $_POST['suchort'] ; ?>" name="suchort">
<option value="<?php echo mysql_field_name($res0?>">Hostname</option>
<option value="<?php echo mysql_field_name($res2?>">Vorname</option>
<option value="<?php echo mysql_field_name($res3?>">Nachname</option>
<option value="<?php echo mysql_field_name($res4?>">Kostenstelle</option>
<option value="<?php echo mysql_field_name($res5?>">Ort</option>
<option value="<?php echo mysql_field_name($res6?>">System</option>
<option value="<?php echo mysql_field_name($res7?>">System S/N</option>
<option value="<?php echo mysql_field_name($res9?>">Techniker</option>
<option value="<?php echo mysql_field_name($res10?>">Datum</option>
</select>
</td></tr>
</td>
<tr><td>[b]Sortieren nach[/b]</td><td>
<select value="<?php echo $_POST['sort'] ; ?>" name="sort">
<option value="<?php echo mysql_field_name($res0?>">Hostname</option>
<option value="<?php echo mysql_field_name($res2?>">Vorname</option>
<option value="<?php echo mysql_field_name($res3?>">Nachname</option>
<option value="<?php echo mysql_field_name($res4?>">Kostenstelle</option>
<option value="<?php echo mysql_field_name($res5?>">Ort</option>
<option value="<?php echo mysql_field_name($res6?>">System</option>
<option value="<?php echo mysql_field_name($res7?>">System S/N</option>
<option value="<?php echo mysql_field_name($res9?>">Techniker</option>
<option value="<?php echo mysql_field_name($res10?>">Datum</option>
</select>
</td>
</tr>

<tr><td><input type="submit" name="senden" value"Suchen"</td></tr></table>
</form>
<?php


          
echo 'Es sind [b]' mysql_num_rows($res) . '[/b] Datens&auml;tze in der DB
'
;


//----------------------------------------------------------------------------------------
//Wenn SENDEN gedr&uuml;ckt wurde -------------------------------------------------------------
if(isset($_POST['senden'])){

$result mysql_query("SELECT * FROM pc_essen WHERE $suchort LIKE '%$suchwort%' ORDER BY $sort"  );

echo 
'<table width=80% border align=center>';
echo 
'[b]<tr align=center style=bold><td>[b]Hostname[/b]</td><td>[b]Vorname[/b]</td>';
echo 
'<td>[b]Nachname[/b]</td>';
echo 
'<td>[b]Kostenstelle[/b]</td><td>[b]Ort[/b]</td><td>[b]System[/b]</td>';
echo 
'<td>[b]System S/N[/b]</td><td>[b]Techniker[/b]</td><td>[b]Datum[/b]</td></tr>';

while (
$row mysql_fetch_array($result)){
echo 
'<tr align="center"><td>' $row['host_name'] . $row['host_id'] . '</td>';
echo 
'<td>' .$row['vorname'] . '</td><td>' $row['nachname'] . '</td>';
echo 
'<td>' $row['kst'] . '</td><td>' $row['ort'] . '</td><td>' $row['pc'] . '</td>';
echo 
'<td>' $row['pc_sn'] . '</td><td>' $row['techniker'] . '</td>';
echo 
'<td>' $row['datum'] . '</td></tr>';
}
echo 
'</table>';
}
//---------------------------------------------------------------------------------------
?>

</body>
</html>
?>
Was mir aber einfällt, gibt es nicht unter mysql die Möglichkeit, 2 Felder zusammen zu führen und sie in ein 3 Feld auszugeben?
Ich meine aber nicht durch PHP-Code, sondern automatisch beim erstellen neuer Datensätze.

Mein Problem ist nämlich, ich brauche D-E100001 automatisch inkrementiert, doch das geht wohl leider nicht, oder?!
Deswegen habe ich wie oben beschrieben, D-E auf standrad gesetzt und 100001 auto_increment.
  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
Array nach mehreren Feldern sortieren Marcel1 PHP Tipps 2008 4 04.06.2008 05:09
suche und update von den gefundenen feldern rbs_phoenix Datenbanken 3 14.05.2008 08:20
komplizierte SQL-Abfrage keinplanvonnix PHP Tipps 2008 3 23.04.2008 15:42
Userprofil nach Kategorien und Feldern ordnen Matze PHP Tipps 2007 14 16.01.2007 14:42
Komplizierte Belegung eines Planquadrates mit Punkten? BartTheDevil89 PHP Tipps 2006 4 21.05.2006 14:06
Abfrage: sortieren mit mehreren Feldern, ASC und DESC php_frage Datenbanken 3 29.04.2006 20:42
komplizierte mysql abfrage php_frage PHP Tipps 2007 5 28.12.2005 17:55
zählen in mehreren Feldern jens76 Datenbanken 4 01.11.2005 13:39
MySQL auf komplizierte Art und Weise: Datenbanken 3 08.06.2005 13:51
Komplizierte Berechnung - HILFE! djma PHP Tipps 2005 8 25.04.2005 21:38
In leeren Feldern tauchen auf einmal Daten auf PHP Tipps 2004-2 2 15.12.2004 22:27
[Erledigt] Order by (differenz aus zwei feldern) Datenbanken 2 16.11.2004 14:47
Suche in mehreren Feldern PHP Tipps 2004-2 1 08.11.2004 09:31
wie sortier ich ein array nach leeren und fefuellten feldern PHP Tipps 2004 3 11.09.2004 23:47
CSS: Gestaltung von file und dropdown feldern HTML, Usability und Barrierefreiheit 3 05.08.2004 14:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
host_id suchen, php suche mit 2 feldern, 100001 suchen, php suche aus 2 feldern, php suchen #\\b, suche erstellen mit mehreren feldern php

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:34 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.