|
You last visited: Today at 16:02
Advertisement
[PHP] Datensätze durchsuchen?
Discussion on [PHP] Datensätze durchsuchen? within the Web Development forum part of the Coders Den category.
01/25/2016, 17:32
|
#1
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
[PHP] Datensätze durchsuchen?
Hey, ich habe eine Seite mit Login & Register.
Nun will ich das alle User andere User durch ein Suchfeld suchen können.
Ich stelle mir das so vor, das der User in die Textbox den Namen eingibt und dann bspw. ein paar Informationen ausgibt. z.B: ich gebe CeLiFiG ein, drücke auf Suchen und er gibt mir folgende Informationen aus.
Nickname: CeLiFiG
Registriert am: 25.01.2016
email:
Die Daten sind alle schon drin, er muss nur quasi nach dem Namen suchen, und dann die dazugehörigen Informationen ausgeben. Aber halt nicht alle, also bspw. nicht das Passwort.
LG, wäre echt lieb wenn mir jmd. helfen könnte
|
|
|
01/25/2016, 18:00
|
#2
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
Sind die Daten in einer SQL-Datenbank? Dann kannst du ein einfaches Select verwenden.
Daten übergabe kannst du entweder per ajax (js) oder einfach per php post realisieren.
|
|
|
01/25/2016, 20:25
|
#3
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Quote:
Originally Posted by Syc
Sind die Daten in einer SQL-Datenbank? Dann kannst du ein einfaches Select verwenden.
Daten übergabe kannst du entweder per ajax (js) oder einfach per php post realisieren.
|
Ja sind sie.
Bin relativ neu, hab jetzt den Code bis jetzt:
Code:
<?php
$verbindung = mysql_connect("localhost", "root", "123456")
or die ("Fehler");
mysql_select_db("tool")
or die ("Fehler");
$username = $_POST["search"];
$query = mysql_query("SELECT * from mitglieder WHERE nickname like .$username.");
echo 'Ihre Suche nach <b>' .$username.' </b> ergab: <br>' ;
while(mysql_fetch_assoc($query)) {
echo "'';
}
?>
Wie gebe ich das jetzt aus?
Tut mir Leid, wenn ihr euch an manchen Stellen mehrmals an den Kopf schlagen müsst, probiere php zum zweiten mal zu lernen, und hab jetzt erst richtig Zeit dafür gefunden.
|
|
|
01/25/2016, 20:51
|
#4
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
PHP Code:
$verbindung = mysqli_connect("localhost", "root", "123456");
$username = mysqli_real_escape_string($verbindung,$_POST["search"]); $query = mysqli_query($verbindung,"SELECT * FROM mitglieder WHERE nickname like '".$username."'"); echo "Ihre Suche nach <b>'" .$username."' </b> ergab: <br>" ; while($result = mysql_fetch_assoc($query)) { echo "Name:$result[name] <br /> Alter:$result[alter] <br />''; }
Mysql ist veraltet, verwende PDO oder mysqli.
Wenn du jetzt zb auf der index.php ein suchfeld einbindest, das ganze aber zb ohne die seite neu laden zu lassen ausgeben willst, dann kannst du auch zu ajax greifen:
PHP Code:
$(document).ready(function() { $("button[name='suchButton']").click(function(event){ var searchstring = $('#suchInput').val(); $.post( "suche.php", // Datei mit der Datenbank verbindung { suchbegriff: searchstring }, function(data) { $('#changeContent').html(data); // Container wo das Resultat angezeigt werden soll } ); }); });
Die such Form:
PHP Code:
<input type='text' id='suchInput' class='form-control' placeholder='suche'/> <button type='button' name='suchButton' >suchen</button>
|
|
|
01/26/2016, 14:03
|
#5
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Quote:
Originally Posted by .Barone
PHP Code:
$verbindung = mysqli_connect("localhost", "root", "123456");
$username = mysqli_real_escape_string($verbindung,$_POST["search"]);
$query = mysqli_query($verbindung,"SELECT * FROM mitglieder WHERE nickname like '".$username."'");
echo "Ihre Suche nach <b>'" .$username."' </b> ergab: <br>" ;
while($result = mysql_fetch_assoc($query)) {
echo "Name:$result[name] <br /> Alter:$result[alter] <br />'';
}
Mysql ist veraltet, verwende PDO oder mysqli.
Wenn du jetzt zb auf der index.php ein suchfeld einbindest, das ganze aber zb ohne die seite neu laden zu lassen ausgeben willst, dann kannst du auch zu ajax greifen:
PHP Code:
$(document).ready(function() {
$("button[name='suchButton']").click(function(event){
var searchstring = $('#suchInput').val();
$.post(
"suche.php", // Datei mit der Datenbank verbindung
{ suchbegriff: searchstring },
function(data) {
$('#changeContent').html(data); // Container wo das Resultat angezeigt werden soll
}
);
});
});
Die such Form:
PHP Code:
<input type='text' id='suchInput' class='form-control' placeholder='suche'/>
<button type='button' name='suchButton' >suchen</button>
|
Hey lieben Dank für deine Mühe, er gibt mir jedoch eine Fehlermeldung aus:
Parse error: syntax error, unexpected '(', expecting variable (T_VARIABLE) or '$' in C:\xampp\htdocs\details.php on line 59
Code:
$(document).ready(function() { // LINE 59 <--
$("button[name='suchButton']").click(function(event){
var searchstring = $('#suchInput').val();
$.post(
"detailzz.php", // Datei mit der Datenbank verbindung
{ suchbegriff: searchstring },
function(data) {
$('#changeContent').html(data); // Container wo das Resultat angezeigt werden soll
}
);
});
});
LG
|
|
|
01/26/2016, 14:17
|
#6
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
PHP Code:
$(document).ready(function() { // LINE 59 <-- $("button[name='suchButton']").click(function(event){ var searchstring = $('#suchInput').val(); $.post( "detailzz.php", // Datei mit der Datenbank verbindung { suchbegriff: searchstring }, function(data) { $('#changeContent').html(data); // Container wo das Resultat angezeigt werden soll } ); }); });
Dies musst du entweder in eine .js datei einbinden und diese bindest du dann im head tag ein per
PHP Code:
<script type="text/javascript" src="dateiname.js"></script>
oder du schreibst es direkt in script tags
<script>
</script>
|
|
|
01/26/2016, 14:33
|
#7
|
TBM Head Mod
elite*gold: 28
Join Date: Oct 2012
Posts: 27,419
Received Thanks: 2,258
|
Quote:
Originally Posted by .Barone
Dies musst du entweder in eine .js datei einbinden und diese bindest du dann im head tag ein per
PHP Code:
<script type="text/javascript" src="dateiname.js"></script>
oder du schreibst es direkt in script tags
<script>
</script>
|
Man braucht nicht mehr das type Attribute zu verwenden, seit HTML5 ist vorgemerkt, dass wenn man kein type Attribute ausfüllt, type="text/javascript" als Standard gesetzt ist. Auch hier würde ich das async Attribute empfehlen, d.h. :
Code:
<script src="file.js" async"></script>
reicht mittlerweile vollkommen aus und sieht dazu noch sehr sauber aus.
Liebe Grüße,
Icetea'
|
|
|
01/26/2016, 14:57
|
#8
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Danke euch, da ich mich aber mit JS kaum auskenne, bräuchte ich hilfe beim Container.
Wie kann ich jetzt den Namen,usw. dadrin ausgeben?
Wenn ich auf den Button klicke, passiert noch nix bei mir..
|
|
|
01/26/2016, 15:55
|
#9
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
@Icetea
Danke dir. Wusst ich garnicht 
Schonwieder was dazugelernt.
@TE
Also, dein mysqli script:
PHP Code:
$verbindung = mysqli_connect("localhost", "root", "123456");
$username = mysqli_real_escape_string($verbindung,$_POST["suchbegriff"]); $query = mysqli_query($verbindung,"SELECT * FROM mitglieder WHERE nickname like '".$username."'"); while($result = mysqli_fetch_assoc($query)) { echo "Name:$result[name] <br /> Alter:$result[alter] <br />''; }
javascript :
PHP Code:
$(document).ready(function() { $("button[name='suchButton']").click(function(event){ var searchstring = $('#suchInput').val(); $.post( "suche.php", // Datei mit der Datenbank verbindung { suchbegriff: searchstring }, function(data) { $('#CONTAINER').html(data); // Container wo das Resultat angezeigt werden soll } ); }); });
Button + Suchinput:
PHP Code:
<input type='text' id='suchInput' placeholder='suche'/> <button type='button' name='suchButton' >suchen</button>
In dem mysqli script war noch n Fehler, wenn du das jetzt so einbindest, sollte es eigentlich keine probleme geben.
|
|
|
01/26/2016, 16:58
|
#10
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Das JS funktioniert wahrscheinlich nicht, weil du  nicht eingebunden hast. (Zumindest wurde es hier mit keinem Wort erwähnt, aber von .Barone verwendet)
Code:
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
// Dein anderes JS
|
|
|
01/26/2016, 18:43
|
#11
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Hab das eingebunden von ComputerBaer, danke dafür.
Klappt trotzdem nicht wie es sollte. Wenn ich drücke, passiert nix, jedoch auch keine Fehlermeldung oder sonstiges.
So sieht das aus:
|
|
|
01/26/2016, 19:04
|
#12
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Hast du denn irgendwo den Container angelegt, in den das Ergebnis rein soll?
Code:
<div id="CONTAINER"></div>
Edit:
Wenn ja, dann zeig uns vielleicht mal deinen kompletten Code. Es ist leichter einen Fehler zu finden als einen Fehler zu erraten.
|
|
|
01/26/2016, 19:11
|
#13
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Hab hier das Design & co rausgeschnitten, wäre zu viel. (kann ja daran nichtliegen)
details.php, die Seite wo das Suchfeld & der Button ist.
Code:
Userdetails:
<form method="post" action="detailzz.php">
<input type='text' id='suchInput' class='form-control' placeholder='suche'/>
<button type='button' name='suchButton' >suchen</button>
</form>
<div id="changeContent"></div>
<div id="footer" style="position:static;">
<html>
<script>
$(document).ready(function() {
$("button[name='suchButton']").click(function(event){
var searchstring = $('#suchInput').val();
$.post(
"detailzz.php", // Datei mit der Datenbank verbindung
{ suchbegriff: searchstring },
function(data) {
$('#changeContent').html(data); // Container wo das Resultat angezeigt werden soll
}
);
});
});
</script>
<center>
<p> xx </p>
</center>
</html> </div>
</center>
</body>
<div id="cookies" align="center">
xx</a>
</div>
</html>
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
detailzz.php, mysqli code
Code:
<?php
$verbindung = mysqli_connect("localhost", "benutzer", "123456");
$username = mysqli_real_escape_string($verbindung,$_POST["suchInput"]);
$query = mysqli_query($verbindung,"SELECT * FROM mitglieder WHERE nickname like '".$username."'");
while($result = mysqli_fetch_assoc($query)) {
echo "Name:$result[name] <br /> Alter:$result[datum] <br />";
}
?>
|
|
|
01/26/2016, 19:22
|
#14
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
Kleiner tipp:
Säubere mal den Code und halte ihn ordentlich, du findest dich hinterher nichtmehr zurecht.
die <script></script> tags kommen in den header.. nicht in den body.
Außerdem solltest du dir nochmal anschauen wie solch eine datei aufgebaut ist. du schließt 2mal den html tag, obwohl er einmal offen ist.
|
|
|
01/26/2016, 19:29
|
#15
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Quote:
Originally Posted by .Barone
Kleiner tipp:
Säubere mal den Code und halte ihn ordentlich, du findest dich hinterher nichtmehr zurecht.
die <script></script> tags kommen in den header.. nicht in den body.
Außerdem solltest du dir nochmal anschauen wie solch eine datei aufgebaut ist. du schließt 2mal den html tag, obwohl er einmal offen ist.
|
Er ist offen, hab den Teil mit dem html nur rausgetan, da es sonst zu viel wäre.
Das mit den Script Tags wusst ich nicht, danke sehr-
//edit
Jetzt gibt er einen Fehler code aus.
Notice: Undefined index: suchInput in C:\xampp\htdocs\detailzz.php on line 4
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\detailzz.php on line 6
1. ist behoben
|
|
|
 |
|
Similar Threads
|
Datensätze erzeugen problem
04/26/2015 - Web Development - 7 Replies
Abend,
Ein Nutzer kann 4 Sachen eintragen die dann später in die Datenbank gespeichert werden. Vorname , Name , msnummer , gehalt.
Jedoch entsteht immer der Fehler " Es ist ein Fehler aufgetreten ".
Ich weiß nicht woran es liegt.. hier der Code:
|
Datensätze per Klick ändern ?
02/07/2015 - Web Development - 4 Replies
Hallo,
Habe mir die Frage gestellt, wie man es hinbekommt, ein Datensatz mit einem Klick in eine textarea zu verändern und diese zu bearbeiten.
Wie ich auf die Idee komme ? Habe es bei phpmyadmin gesehen und würde gerne wissen wie das funktioniert.
Jemand eine Idee zur Umsetzung bzw. den Mechanismus ?
http://i.epvpimg.com/K6ggg.png
|
[PHP] ca. 90 000 Datensätze verarbeiten
07/03/2014 - Web Development - 9 Replies
Moin,
ich hab mir nen SQL Query gebastelt womit ich ne Statistik anlegen will und grafisch darstellen will über Aufrufe in den letzten 24 Stunden. PHP gecoded ist alles soweit, nur scheint es so, als ob PHP nicht mit der Menge der Datensätze klar kommt und irgendwann einfach sagt: Ne ist nicht, ich gib dir nen 500er zurück.
Gibts da vielleicht ne alternative das Result meiner Query zu verarbeiten?
Aktuell:
$db = @new mysqli($server, $user, $pass, $database);
if(mysqli_connect_errno()...
|
Letzten 5 Datensätze ausgeben
08/15/2012 - Web Development - 4 Replies
<?php
include('../config/database_trade.php');
$sql_select_trades = "SELECT * FROM trades";
$sql_select_trades_query = mysql_query($sql_select_trades);
$sql_row = mysql_fetch_object($sql_select_trades_query);
echo "<table border='1'>";
|
[S] Datensätze aus Telefonbuch [B] egold
11/26/2011 - elite*gold Trading - 6 Replies
Hi ich suche jemandem der mir jeden Tag zwei Datensätze aus dem deutschen Telefonbuch sagt. Ich würde euch pro Woche, sprich 14 Datensätze, 5 Egold zahlen.
Es muss folgendes enthalten sein:
Name (Vor- und Nachname)
Telefonnummer
Postleitzahl
Ort
Straße
Hausnummer
|
All times are GMT +1. The time now is 16:03.
|
|