mindre egenkapital

Magazine
Go Back   Computer Juice > Computer Software > Web Design, hosting & SEO

Register


 Default 

PHP MySQL, skape en rullegardinlisten som tar felt fra tabellen i mysql




Reply
 
Thread Tools
  #1  
Old 31 mars 2008, 12:47
Medlem Group
 
Hvordan kan jeg gjøre dette på:
a) velge fra en liste med elementer
b) velge to felt for å redigere en rekkefølge (for eksempel)
Kunne noen også forklare koden for meg behage.
Verdsatt.
  #2  
Old 31 mars 2008, 13:28
Donor Group
 
Dette er pitched på en oversikt nivå, jeg er ikke sikker på om det er det du trenger eller ikke, du har ikke sagt hvilken erfaring du har med html eller php. Enten det er det du vil eller ikke, det gir en krok kan vi utvide.

Du bruker php på en webserver. Webserveren er pre-behandlingen av php-kode, slik at koden bygge html deler sende til kunden som en del av en komplett html-dokument. Er det sant så langt?

Så, hva du gjør er du som bestemmer hva html skal si. Skriv en tilleggskonto html-dokument som ser nøyaktig slik du vil ha den endelige dokumentet skal se ut. Den har en pull-listen i det, blant annet, og du har skrevet tilleggskonto elementer i det å gjøre det ser rett.

Da har du helt teste html så det er perfekt. Det trenger ikke komme fra en database, det bare ser bra ut, men du trenger å gjøre så mye. Det trekker ned utvalg koden burde jobbe allerede på dette stadiet og det har ingenting å gjøre med php.

Deretter tar du dra-listen, og slå den i php, eventuelt ved hjelp av ekko å skrive HTML. Du har fortsatt eksempeldataene men du begynner å pre-behandle den. Kjør den og se html du ut er identisk med det forrige trinnet.

Du har din mysql database. Skriv noen php å åpne den og (hvis du vil) for å lukke det. Sjekk det er ingen endring og HTML er ikke berørt.

Endelig endre hard-kodet biter av echo'd html i feltet verdier fra en SQL lese av databasen. Det er det liten vri som gjør at serveren gir fleksibel data fra databasen i stedet for hardt kode, det er bare det lille endringen som gir funksjonalitet.

Hvilken del er du fast på?
__________________

Min System: Tim

Prosessor (er):
Athlon 64 3500 +
Hovedkort:
Asus A8N-VM CSM
RAM-minne:
Corsair PC3200 CL2 DDR-400 2GB
Graphics Card (s):
NVIDIA GeForce 6600 512MB
Lydkort:
Cherry RS 6000 M tastatur
Harddisk (er):
Barracuda.7 + 2x200GB 58MB / s sustain
Optisk stasjon (er):
Samsung DVD-ROM TS-H352
Case / PSU:
Thermaltake Soprano
Cooling:
Stock
Nettverk / Internett:
Telewest 2x20Mb/sec
Skjerm (er):
SXGA flatskjerm
Operating System (s):
Slackware (2.6.27.7) (Fluxbox)
  #3  
Old 1 april 2008, 12:20
Medlem Group
 
Jeg vet ganske mye ingenting om php.
Jeg trenger kode som skal kobles til bordet og gjøre meg til å velge bestemte felt?
  #4  
Old 1 april 2008, 12:27
Donor Group
 
Du har allerede en database bord da?

Har du litt HTML for å legge til php til ennå?
  #5  
Old 2 apr 2008, 04:12
Medlem Group
 
<! DOCTYPE HTML PUBLIC "- / / W3C / / DTD XHTML 1.0 Transitional / / EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> Rediger element </ title>
<?
$ username = "root";
$ passord = "";
$ database = "kafé";
$ dbLink = mysql_connect (localhost, $ username, $ passwor d);
$ QueryPointer = mysql_query ( "BRUK $ database", $ dbLink);
if (isset ($ _REQUEST [itemdescription]))
(
$ sql = "update eks satt itemdescription ='".$_ REQUEST [itemdescription ]."',";
$ sql = $ sql. quantityinstock =".$_ REQUEST [quantityinstock ].",";
$ sql = $ sql. rounduptotal =".$_ REQUEST [rounduptotal ].",";
$ sql = $ sql. batchprice =".$_ REQUEST [batchprice ].",";
$ sql = $ sql. suppliername ='".$_ REQUEST [suppliername ]."'";
$ sql = $ sql. "der itemid =".$_ REQUEST [itemid];
mysql_query ($ SQL, $ dbLink);
mysql_close ($ dbLink);
)
>
<form id="form1" name="form1" method="POST" action="EditItem.php">
<velg name="itemid">
<?
$ sql = "select itemid, itemdescription, suppliername fra eks bestill ved itemdescription";
$ QueryPointer = mysql_query ($ SQL, $ dbLink);
/ / print ( "<option>". mysql_num_rows ($ QueryPointer )."</ option> ");
for ($ x = 0; $ x <mysql_num_rows ($ QueryPointer); $ x + +)
(
$ item = mysql_fetch_assoc ($ QueryPointer);
if ($ item [ "itemid "]==$_ REQUEST [itemid])
(
print ( "<option value=".$item["itemid"]." selected>". $ item [ "itemdescription"]. "". $ item [ "suppliername "]."</ option>");
)
ellers
(
print ( "<option value=".$item["itemid"].">". $ item [ "itemdescription"]. "". $ item [ "suppliername "]."</ option>");
)
)
>
</ select>
<p align='center'> <input type="submit" value="Edit item"> </ p> <p>
</ form>
<?
if (isset ($ _REQUEST [itemid]))
(
$ sql = "select itemid, itemdescription, suppliername fra element hvor itemid =".$_ REQUEST [itemid];
$ QueryPointer = mysql_query ($ SQL, $ dbLink);
$ pasienten = mysql_fetch_assoc ($ QueryPointer);
print ( "<form id=\"form2\" name=\"form2\" method=\"post\" action=\"EditItem.php\">
<label> Element Beskrivelse
<input type=\"text\" name=\"itemdescription\" value=\"$item[itemdescription]\"/>
</ label>
<p>
<label> Quantity På lager
<input type=\"text\" name=\"quantityinstock\" value=\"$item[quantityinstock]\"/>
</ label>
</ p>
<p>
<label> Round Up Total
<input type=\"text\" name=\"rounduptotal\" value=\"$item[rounduptotal]\" />
</ label>
</ p>
<p>
<label> Batch Pris
<input type=\"text\" name=\"batchprice\" value=\"$item[batchprice]\" />
</ label>
</ p>
<p>
<label> Tilbydersøk Navn
<input type=\"text\" name=\"suppliername\" value=\"$item[suppliername]\" />
</ label>
</ p>
)
>
</ form>
</ body>
</ html>

Det er min kode på minutt, jeg trenger itemid og itemdescription å fremstå som en rullegardinlisten til å velge en posten fra min eks-tabellen for å redigere.
Også når en bruker innganger en verdi i et felt (i et nytt eks tabellen for eksempel), men de går det i feil form hvordan ville jeg lage feilmeldinger? Fordi de ville bare ikke fungere, og brukeren vil ikke vite at de ikke hadde blitt lagt inn i tabellen, ikke sant?
  #6  
Old 2 apr 2008, 04:25
Medlem Group
 
Også når brukeren ønsker å legge inn en bestilling jeg vil de skal være i stand til å angi et antall og form for å få opp den totale prisen ved å multiplisere batchprice (eks tabellen) av kvantum bestilt ..
I MS Access SQL ville være omtrent slik:

SELECT items.ItemID, items.BatchPrice, orderitem.QuantityOrdered, [BatchPrice] * [QuantityOrdered] AS TotalPrice
FRA ordersplaced, eks Indre BLI MED orderitem ON items.ItemID = orderitem.ItemID;


men hvordan gjør jeg dette i php / min sql?
  #7  
Old 2 apr 2008, 06:17
Donor Group
 
Jeg tror du ikke kan se html skog til php trær i øyeblikket, og det er derfor jeg begynte med at oversikten. Hvis du sitter som klienten til leseren og View Source på denne siden, bare for å se det genererte html, det ligger mye mangler. Det er ingen / hode, kropp, er det skjelettlidelser og få det rettet opp etter at du har den php arbeider er mye vanskeligere enn å få den rett før du koden noen php.

Ditt rullegardinlisten må være en arbeider html rullegardinlisten så langt kundens bekymret, tthat er hva hans leseren får hans nettleser er ikke til å se noen itemid php eller itemdescription php er det bare kommer til å se verdien i en html innstillingen. Du nå holder seks sjonglerer baller i hånden og prøver å kaste dem i lufta på en gang i stedet for første, andre, tredje, fjerde.

Det er to måter av data som bekrefter og du kan enten koden bare en av dem, eller du kan kode begge.

De to trinn måten er å javascript validere syntaks for hvert felt på kundens maskin og nekter å sende inn skjemaet til serveren før det er rent. Det er den typen "Oh, adresse-1 skal være mellom 3 og 24 tegn, og det er obligatorisk, prøv igjen" skjerm vetting. Den andre er skjemaet side-1-samtaler side-X som bekrefter noe som helst - syntaks eller database lookups. Det kan si "Jeg har ikke det postnummeret på postnummer fil" for eksempel. Hvis den finner en feil sender den tilbake siden-1 for korrigering hvis alle feltene på POST var rent så sender hele POST til side-2 for neste trinn i prosessen. Når siden-X har kontrollert alle feltene deretter enten side-X eller side-2 kan gjøre noen oppdatering av databasen som side-1 ble ringer for. Min egen oppfatning er at siden du stort sett ha database vetting på noen felt du kan like godt bare ha en bekreftelse mekanisme og ikke bry deg med javascript på alle. Grunnen til å bruke javascript i tillegg er å redusere belastningen på serveren. Hvis de fleste side-1-skjermer få avvist første omgang så ja, javascript kan gjøre. Det er fremdeles en ytterligere investering i tid og krefter når du skriver systemet.

Hva jeg vil gjøre, hvis jeg var deg, er en skjerm med html arbeider som omfatter dette rullgardin mekanisme du ønsker. Ingen php i det hele tatt, bare en tilleggskonto arbeider skjerm som passerer w3 html validator. Du har ikke fått det, og det vil ikke bli lett å få en når du har php i veien også.

Så, med et kjent arbeider drop down system på plass, kan du endre verdiene til de fra database - at bit er én linje, uavhengig av hvor komplisert det ender opp ute. Det er en en-linjen endres til et system slik at det er enkelt å teste og å vite at du har jobbet riktig.

Har du en frist for dette? Er det et universitet prosjekt - det synes litt ambisiøst hvis den er, og hvis du virkelig vil gå så langt som å legge til en data-validering mekanismen.

Er du teste på din egen maskin eller har du et annet sted? Hvis du har en, er det på Internett eller er det på LAN?
  #8  
Old 2 apr 2008, 12:36
Medlem Group
 
Ja det er college coursework.
Hva du har forklart virker veldig komplisert for meg, og ingenting som det vi har blitt "lært" å gjøre (lærer suger). Fristen er neste tirsdag, ville jeg bare spørre ham, men alt han sier er at der jeg er på er "urovekkende" og han tar alltid å sortere ut 1 problem når jeg har tonn.
Hvis bare vi kunne bruke MS Access.
  #9  
Old 2 apr 2008, 12:53
Donor Group
 
Hvordan er du teste hva du skriver? Visste du putter på en webserver på din egen datamaskin, eller er du setter inn koden på en annen datamaskin til å surfe?

Uansett, når du surfer på siden som har den koden du har vist meg, View Source.

Kopier den til denne tråden, og vi vil se at det har ingen php i seg, og ikke på langt nær så mange linjer.

PHP har blitt brukt opp i serverkonfigurasjonen pre-prosessor før webserver sendt siden. PHP har skapt linjer med html.

Nå, så langt du ikke har fått en rullegardin-tabellen. Hvis du skriver en på bare HTML så vet du at du vil kunne se den i nettleseren. Du vil kunne teste det og se at det virkelig synker ned og at det ser bra ut. Jeg tror du trenger å gjøre det først. Når du har gjort det, bla siden av webserveren og View Source og kopier / lim den her igjen, så vi ser forskjellen. Se om du kan få View Source-versjonen for å være ren html som sender validator på http://validator.w3.org/ (du sjekke at ved å gi http://validator.w3.org/ Internett-adressen til siden din hvis du har en web-adresse for den, eller lime at Se kildekoden til validator direkte).

Hvis vi får ren html så får du et annet merke på coursework jeg forventer. Da kan vi gjøre rullegardinlisten tabellen kommer fra php istedenfor html, fra databasen, og du får flere merker fortsatt antar læreren kan følge med hva du har gjort.

Hold snakke, jeg forventer vi å finne de riktige ordene til slutt.
  #10  
Old 2 apr 2008, 13:24
Medlem Group
 
Bruke Dreamweaver 8, xampplite og localhost å vise sider, kan ikke vise kilde "føre Theres en feil med koden, og ingen anelse om HTML.
Reply

Register
Thread Tools




Arabic Bulgarian Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Finnish French German Greek Hebrew Hungarian Italian Japanese Korean Latvian Lithuanian Norwegian Polish Portuguese Romanian Russian Serbian Slovak Spanish Swedish Thai Turkish Ukrainian

Copyright © 2006 - 2009 Computer Juice.

Powered by vBulletin ® Copyright © 2000 - 2009 Jelsoft Enterprises Ltd SEO by vBSEO © 2009, gjennomgå webområdet, Inc.