webForumDet fria alternativet

Php och mysql.

45 svar · 5 434 visningar · startad av Forcevision · sida 2 av 3

ercizMedlem sedan maj 20011 826 inlägg
#21

Forcevision skrev:

Mmmm... så långt är jag med har ett formulär som jag har fått lite hjälp med osv. Nu då skulle jag vilja ha in detta i det formuäret. Och där har jag ingen aning om hur jag gör. Vet att man måste öppna databasen med användarnamn lösen localhost och databas namnet. Men sedan för att hitta i databasen och skriva ut i formuläret har jag ingen aning om hur man gör. Är det svårt att förklara ?

I ditt html-formulär ska "action" vara adressen till ditt php-script och metoden ska vara "post":

<form method="post" action="insert.php">

För att ansluta och läsa ut data så gör du nåt liknande:

<?php
// Make a MySQL Connection
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

// Retrieve all the data from the "example" table
$result = mysql_query("SELECT * FROM table_name")
or die(mysql_error());  

// store the record of the "example" table into $row
$row = mysql_fetch_array( $result );
// Print out the contents of the entry 

echo "Firmanamn: ".$row['firma_namn'];
echo " Kundnr: ".$row['kundnr'];

?>

Vill du lägga in data så får du göra en INSERT istället för SELECT. Språket du använder för att kommunicera med databasen är SQL.

ForcevisionMedlem sedan mars 2007217 inlägg
#22

Okej då är jag med. Men nu skriver den ut detta med echo ser jag. Om jag vill att den skriver ut det i formulärets textfält hur gör jag då ?

För tanken är att man skall endast skriva i sitt kundnummer i ett textfält i formuläret också skrivs företagets, namn, adress osv ut i vissa text fält i formuläret.

Måste man inte skriva i typ detta i formuläretskodning i textfältet ? $kundnr osv

ercizMedlem sedan maj 20011 826 inlägg
#23

Forcevision skrev:

Okej då är jag med. Men nu skriver den ut detta med echo ser jag. Om jag vill att den skriver ut det i formulärets textfält hur gör jag då ?

För tanken är att man skall endast skriva i sitt kundnummer i ett textfält i formuläret också skrivs företagets, namn, adress osv ut i vissa text fält i formuläret.

Måste man inte skriva i typ detta i formuläretskodning i textfältet ? $kundnr osv

Du kan skriva värdena i formulär med:

echo 'Firmanamn: <input type="text" name="firma_namn" value="'.$row['firma_namn'].'"/>'; 
echo ' Kundnr: <input type="text" name="kundnr" value="'.$row['kundnr'].'"/>';

Men det kommer inte att fungera så som du beskrev. Vill du ha det så, så måste du hämta informationen asynkront med JavaScript. Då använder man sig av en teknik som kallas för Ajax. Se t.ex. http://www.w3schools.com/ajax/default.asp

ForcevisionMedlem sedan mars 2007217 inlägg
#24

Okej men om man vill att det bara skall skrivas ut utan textfält hur gör man då ?

ercizMedlem sedan maj 20011 826 inlägg
#25

Forcevision skrev:

Okej men om man vill att det bara skall skrivas ut utan textfält hur gör man då ?

Precis så som jag visade innan:

echo "Firmanamn: ".$row['firma_namn']; 
echo " Kundnr: ".$row['kundnr'];
ForcevisionMedlem sedan mars 2007217 inlägg
#26

Okaj !

Men hur ser koden ut om besökaren skriver in sitt kundnummer i ett textfält så kommer adressern fram ?

ercizMedlem sedan maj 20011 826 inlägg
#27

Forcevision skrev:

Okaj !

Men hur ser koden ut om besökaren skriver in sitt kundnummer i ett textfält så kommer adressern fram ?

För att få den funktionaliteten måste du använda AJAX. Så börja med att läsa på om det: http://www.w3schools.com/ajax/default.asp.

Du måste använda JavaScript på din sida för att göra ett asynkront anrop till din server. På servern tar ett PHP-script emot anropet och hämtar data från databasen och skickar det som svar. Sen måste du använda JavaScript på din sida igen för att ta emot svaret från servern och skriva svaret i textfälten.

ForcevisionMedlem sedan mars 2007217 inlägg
#28

Aj då det låter som ett större jobb. Finns inte på något sett med hjälp av php att få fram det så som jag frågade om fast på något annat sett ?

ercizMedlem sedan maj 20011 826 inlägg
#29

Forcevision skrev:

Aj då det låter som ett större jobb. Finns inte på något sett med hjälp av php att få fram det så som jag frågade om fast på något annat sett ?

PHP körs bara på servern. Men du frågar efter funktionalitet på klienten, dvs att data ska hämtas när användaren skriver in saker i ett textfält. På webbsidor (klientsidan) används JavaScript som programmeringsspråk.

Vill du lösa det helt i PHP (helt på server-sidan) så får du ha ett textfält där kunden skriver sitt kundnummer. Sen får kunden klicka på en knapp. Sen visar du en ny sida med kundens adress mm.

ForcevisionMedlem sedan mars 2007217 inlägg
#30

Ja absolut kan man fixa det så ?

Har du lust och ork att guide mig till det ?

ercizMedlem sedan maj 20011 826 inlägg
#31

Först ett formulär där kunden kan mata in sitt kundnummer:

<form method="post" action="lookup.php">
<label for="kundnr">Kund nr:</label>
<input type="text" name="kundnr" id="kundnr"/>
<input type="submit" value="Hämta adress">
</form>

Sen får du hämta data från databasen som jag visade dig tidigare, och använda en databas-fråga liknande (den här är lätt att förstå men inte säker):

mysql_query('SELECT * FROM kunder WHERE kundnr = '.$_POST['kundnr']);

Du bör kontrollera att $_POST['kundnr'] verkligen innehåller ett heltal innan du använder det i din SQL-sats egentligen.

Sen får du skriva ut resultatet som du vill ha det, enligt tidigare inlägg här i tråden...

ForcevisionMedlem sedan mars 2007217 inlägg
#32

Vad menar du med inte säkert ?

ercizMedlem sedan maj 20011 826 inlägg
#33

Det är inte säkert mot SQL-injektioner

ForcevisionMedlem sedan mars 2007217 inlägg
#34

Okej !

Så först gör man ett formulär där kunden skriver in kundnumret sedan skickas kunden till sidan lookup.php där kundens uppgifter kommer fram från databasen fattar jag det rätt ? :)

ercizMedlem sedan maj 20011 826 inlägg
#35

Forcevision skrev:

Så först gör man ett formulär där kunden skriver in kundnumret sedan skickas kunden till sidan lookup.php där kundens uppgifter kommer fram från databasen fattar jag det rätt ? :)

Japp, det stämmer.

ForcevisionMedlem sedan mars 2007217 inlägg
#36

Okej.

Men hur får jag med kundens adress när man skickar formuläret när det endast skrivs ut med echo ?

ForcevisionMedlem sedan mars 2007217 inlägg
#37

Mitt formulär ser ut som följande

http://paste.ubuntu.com/588568/

Detta formuläret hade jag tänkt mig att få in detta med databasen m.m.

ercizMedlem sedan maj 20011 826 inlägg
#38

Forcevision skrev:

Men hur får jag med kundens adress när man skickar formuläret när det endast skrivs ut med echo ?

Du skriver ut adressen i ett textfält, som jag visade tidigare.

ForcevisionMedlem sedan mars 2007217 inlägg
#39

Yes då är jag med :)

En fråga till om samma formulär.

Om jag vill få in annat typsnitt färg m.m med hjälp av css så det syns i mailet man får går detta och hur gör man i så fall ?

voigtann1Medlem sedan juni 20019 519 inlägg
#40

På samma sätt som du gör på en HTML sida, inkludera CSS kod (inline på dina element då HTML och mail-klienter är inte direkt kända på att vara flexibla).

128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)