Πως παίρνουμε αποτελέσματα από την βάση με select

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από Akis_gr49 » 11 Δεκ 2007 14:04

Έστω ότι έχω αυτή την φόρμα:

Κώδικας: Επιλογή όλων

<form action="onomata.php" method="post">
<select name="onomata">
<option value="name1" name="name1">name1</option>
<option value="name2" name="name2">name2</option>
<option value="name3" name="name3">name3</option>
</select></form>
Και μια βάση δεδομένων με δυο πεδία

Το ID και το NAME

Μπορώ αν έχω 100 ονόματα στην βάση να τα τραβάει στο select αυτόματα με κάποιο τρόπο;

Ευχαριστώ πολύ.


Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από Akis_gr49 » 11 Δεκ 2007 14:21

Μάλλον δεν το εξήγησα σωστά.

Έστω ότι έχω αυτο το αποτέλεσμα


Αντί να είναι έτσι ο κώδικας

Κώδικας: Επιλογή όλων

<option value="name1" name="name1">name1</option> 
<option value="name2" name="name2">name2</option> 
<option value="name3" name="name3">name3</option> 
<option value="name4" name="name4">name4</option> 
<option value="name5" name="name5">name5</option> 
<option value="name6" name="name6">name6</option>


Να τραβάει τα name1, name2, name3 κτλ από την βάση, τα οποία θα είναι ήδη καταχωρημένα από κάπου αλλού.
Συνημμένα
select.JPG
D:\Desktop\select.JPG
select.JPG (3.3 KiB) Προβλήθηκε 1710 φορές

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από fafos » 11 Δεκ 2007 16:46

Κώδικας: Επιλογή όλων

            <select name="typos" style="width &#58; 170px;height &#58; 18px;">
<?php

mysql_connect&#40;$dbhost, $dbuser, $dbpass&#41;;
mysql_select_db&#40;$dbname&#41;;
    $sql="SELECT * FROM onomatable ORDER BY  BINARY name ASC";
$result=mysql_query&#40;$sql&#41;;

$options="";

while &#40;$row=mysql_fetch_array&#40;$result&#41;&#41; &#123;

    $name=$row&#91;"name"&#93;;
    $options.="<option value=\"$name\">".$name."</option>;
&#125; ?>
	<option value=''>Επιλέξτε Όνομα</option>
<?=$options?>
            </select>

Άβαταρ μέλους
Yiannistaos
Δημοσιεύσεις: 140
Εγγραφή: 10 Οκτ 2007 21:01
Τοποθεσία: Λεμεσός
Επικοινωνία:

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από Yiannistaos » 11 Δεκ 2007 20:19

Κώδικας: Επιλογή όλων

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Select</title>
</head>
<BODY>


<?php
$database = "databasename";  // Το όνομα της Βάσης Δεδομένων
$hostname = "localhost"; // Διακομηστής
$user = "username"; // Όνομα χρήστη Βάσης
$password = "pass"; // Κωδικός χρήστη
$table = "tablename"; // Όνομα πίνακα της βάσης


// Σύνδεση με την Βάση Δεδομένων
$connection = mysql_connect&#40;$hostname,$user,$password&#41;
or die&#40;"Couldn't make connection."&#41;;

// Επιλογή Βάσης Δεδομένων
$db = mysql_select_db&#40;"selects", $connection&#41;
or die&#40;"Couldn't select database."&#41;;

// Δημιουργούμε την εντολή στην βάση
$sql = "SELECT * FROM names
ORDER BY BINARY name ASC";

// Εκτέλεση ερωτήματoς
$sql_result = mysql_query&#40;$sql,$connection&#41;
or die&#40;"Couldn't execute query."&#41;;


while &#40;$row = mysql_fetch_array&#40;$sql_result&#41;&#41; &#123;

$name = $row&#91;"name"&#93;;
$options .= "<OPTION value=\"$name\">$name</OPTION>";
&#125;

?>

<form method="post" action="index.php">
<select name="name">

<? echo "$options"; ?>

</select>

</form>

</BODY>
</HTML>
Φίλε fafos το scriptaki σου έχει κάποια λαθάκια.

Αυτή είναι μια τέλεια λύση για αυτό που ζητάς Giannhs_gr. Ίσως το κάνω και βοήθημα.
web357.eu - Free & Premium Joomla! Extensions

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από fafos » 11 Δεκ 2007 20:26

Yiannistaos έγραψε: Φίλε fafos το scriptaki σου έχει κάποια λαθάκια.

opos?... anelyse to ligo giati doulevei se 600 peripou sites auto to pragma :D

Άβαταρ μέλους
Yiannistaos
Δημοσιεύσεις: 140
Εγγραφή: 10 Οκτ 2007 21:01
Τοποθεσία: Λεμεσός
Επικοινωνία:

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από Yiannistaos » 11 Δεκ 2007 20:39

Αφού δουλεύει σε 600 τότε μάλλον δεν το είδα καλά :D
web357.eu - Free & Premium Joomla! Extensions

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από fafos » 11 Δεκ 2007 21:03

Yiannistaos έγραψε:Αφού δουλεύει σε 600 τότε μάλλον δεν το είδα καλά :D
isos enoeis thn syndesh me thn vash alla enoeitai oti o endiaferomenos kati skampazei kai tha katalavei pos tha kanei thn syndesh.. ego exo synithisei etsi dioti synhthos exo ola ta stoixeia ths se ena config kai to kalo me ena include kai teleiosame :D

Άβαταρ μέλους
Yiannistaos
Δημοσιεύσεις: 140
Εγγραφή: 10 Οκτ 2007 21:01
Τοποθεσία: Λεμεσός
Επικοινωνία:

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από Yiannistaos » 11 Δεκ 2007 21:16

:D :D
web357.eu - Free & Premium Joomla! Extensions

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από Risk » 16 Δεκ 2007 23:10

Fafo to script σου είναι πολύ καλό, αναφέρεται σε μια κλασσική τεχνική που όποιος ασχοληθεί με php θα κληθεί να την χρησιμοποιήσει και πιστεύω πως θα βοηθήσει πολλούς. Παρόλα αυτά θα ήθελα να προσθέσω και μια ακόμα προσέγγιση στο συγκεκριμένο θέμα που χρησιμοποίησα πρόσφατα για κάτι αντίστοιχο.

Σύμφωνα με την δική σου τεχνική τα διάφορα values τα παίρνουμε από έναν πίνακα της βάσης όπου έχουμε καταχωρήσει αυτά. Αν υποθέσουμε πως κάποιος αυτά τα values τα καταχωρεί σε κάποιο enum πεδίο, δλδ enum ('name1','name2','name3') τότε για την υλοποίηση των options θα πρέπει να γραφτεί ο παρακάτω κώδικας:

Κώδικας: Επιλογή όλων

$query  = "show columns from user like 'category'";
$result = mysql_db_query&#40;$CONFIG&#91;'dbName'&#93;,$query&#41;;

while &#40;$row = mysql_fetch_array&#40;$result&#41;&#41;
   &#123;
         if &#40;ereg&#40;'enum.&#40;.*&#41;.', $row&#91;'Type'&#93;, $match&#41;&#41;
         &#123;           
               $opts = explode&#40;',', $match&#91;1&#93;&#41;;
                  
               for&#40;$i=0;$i<count&#40;$opts&#41;;$i++&#41;
               &#123;
                  $choice=substr&#40;$opts&#91;$i&#93;,1,-1&#41;;
                  
                  echo "<option value='".$choice."'>".$choice."</option>";
               &#125;
           &#125;
   &#125;
Και πάλι τονίζω πως το παραπάνω δεν αναιρεί τα όσα έγγραψε ο fafos απλά αποτελούν μια άλλη προσέγγιση.
Εικόνα

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από fafos » 16 Δεκ 2007 23:24

Einai poly sosth h proseggish sou alla auto to xrhsimopoioume (ego toulaxiston) otan se ena field ths vashs exo pano apo 1 value (p.x. serialize items)

ena kalo paradeigma tha vreis edo:
http://www.fatsimare.net/myfoxvideo/video/manfavorites

(login: testme - pass: 123456)

edo ta favorites sthn pragmatikothta grafontai se ena pedio serialize, katopin ta analyo me ton tropo pou anafereis kai emfanizo kathogories, titlous, eikones klp...

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

Πως παίρνουμε αποτελέσματα από την βάση με select

Δημοσίευση από Risk » 16 Δεκ 2007 23:50

Πολύ σωστή η παρατήρησή σου και εγώ για τον ίδιο ακριβώς λόγο το χρησιμοποιώ. Και είπα να το αναφέρω εδώ γιατί σχετίζεται με τα όσα προαναφέρθηκαν και αναλόγος μπορεί να φανεί και αυτό χρήσιμο.
Εικόνα

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης