Avatar billede need4speed Nybegynder
01. november 2004 - 15:15 Der er 32 kommentarer og
1 løsning

php guide

Sidder med en php guide er kommet til hvor jeg skal oprette en tabel. Men kan ikke få den oprettet via sql sætningen hvordan gør man det manuelt det har heller ikke lykkedes mig...

koden de har brugt

1: <?php

2: // open the connection

3: $conn = mysql_connect("localhost", "joeuser", "somepass");

4: // pick the database to use

5: mysql_select_db("testDB",$conn);

6: // create the SQL statement

7: $sql = "CREATE TABLE testTable (id int not null primary key auto_increment,

8: testField varchar (75))";

9: // execute the SQL statement

10: $result = mysql_query($sql, $conn);

11: // echo the result identifier

12: echo $result;

13: ?>
Avatar billede arne_v Ekspert
01. november 2004 - 15:19 #1
Det ser rigtigt ud.

Du skal rette:
  brugernavn
  password
  database
  (og eventuelt host)


Og du skal naturligvis ikke angive linienumre.
Avatar billede need4speed Nybegynder
01. november 2004 - 15:20 #2
tror jeg fik den oprettet
Avatar billede need4speed Nybegynder
01. november 2004 - 15:20 #3
bruger phpmyadmin
Avatar billede need4speed Nybegynder
01. november 2004 - 15:34 #4
har lavet en include til connect stregen... er det korrekt skrevet?

<?php

// open the connection

$conn = include("database.php");


// pick the database to use

mysql_select_db("testDB",$conn);

// create the SQL statement

$sql = "INSERT INTO list values ('', '$_POST[testField]')";

// execute the SQL statement

if (mysql_query($sql, $conn)) {

echo "record added!";

} else {

echo "something went wrong";

}

?>
Avatar billede need4speed Nybegynder
01. november 2004 - 15:40 #5
Det virker nu men ønsker at gøre brug af include strengen så jegikke skal rette pass er user på alle siderne...

<?php

  // open the connection

  $conn = mysql_connect("localhost", "web33", "51947081");

  // pick the database to use

  mysql_select_db("usr_web33_1",$conn);

  // create the SQL statement

  $sql = "INSERT INTO list values ('', '$_POST[testField]')";

// execute the SQL statement

if (mysql_query($sql, $conn)) {

echo "record added!";

} else {

echo "something went wrong";

}

?>
Avatar billede need4speed Nybegynder
01. november 2004 - 15:42 #6
det er vel bare at skifte $conn ud med include("database.php");
Avatar billede arne_v Ekspert
01. november 2004 - 16:42 #7
Jeg troede at man bare skrev

include "database.php";

men ja
Avatar billede need4speed Nybegynder
01. november 2004 - 17:16 #8
begge dele virker :)

Vil gerne have dataen der kommer ud fra database til at blive pænt opstillet ændre font osv. Men har prøvet at insætte det i tabel men får en parse error.

echo "The ID is $id and the text is $test <br>";

skrev følgende

echo "<table width="100%"  border="0">
  <tr>
    <td>$id</td>
    <td>$test</td>
  </tr>
</table>

men virker som sagt ikke...
Avatar billede arne_v Ekspert
01. november 2004 - 17:26 #9
Prøv:

echo "<table width='100%'  border='0'>";
echo "  <tr>";
echo "    <td>$id</td>";
echo "    <td>$test</td>";
echo "  </tr>";
echo "</table>";
Avatar billede arne_v Ekspert
01. november 2004 - 17:26 #10
Eller bedre flyt HTML taggene udenfor PHP blokken.
Avatar billede arne_v Ekspert
01. november 2004 - 17:26 #11
og et svar
Avatar billede need4speed Nybegynder
01. november 2004 - 17:29 #12
hmm er jeg langt fra :(

$test = $newArray['test'];

//echo the results onscreen


}
?>
<table width="100%"  border="0">
  <tr>
    <td><?=$row[id];?></td>
    <td><?=$row[test];?></td>
  </tr>
</table>
Avatar billede need4speed Nybegynder
01. november 2004 - 17:30 #13
eller har du en bedre måde at lave et udtræk ?
Avatar billede arne_v Ekspert
01. november 2004 - 17:31 #14
Hvis du kun har en række er det vist nydeligt.
Avatar billede need4speed Nybegynder
01. november 2004 - 17:37 #15
tja... det er meningen man skal kunne søge i database og klikke videre.. så kommer der flere rækkere?
Avatar billede arne_v Ekspert
01. november 2004 - 17:39 #16
Så skal du jo have en løkke.

Måske noget ligesom dette:

<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
?>
<table border="1">
<tr>
<th>F1</th>
</tr>
<?php
$rs = mysql_query("SELECT * FROM T1") or die(mysql_error());
while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {
    print "<tr>\n";
    print "<td><a href='showone?F1=" . $row["F1"] . "'>" . $row["F1"] . "</a></td>\n";
    print "</tr>\n";
}
mysql_free_result($rs);
?>
</table>
<?php
mysql_close($con);
?>
Avatar billede need4speed Nybegynder
01. november 2004 - 17:43 #17
hvis jeg nu heller ville referere til db.php filen

<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
?>

hvad skal jeg så skrive istedet for at skrive sætningen med user og pass hver gang?
Avatar billede need4speed Nybegynder
01. november 2004 - 17:46 #18
vel bare at skiftet det de 2 liner ud med include("database.php"); ik..
Avatar billede arne_v Ekspert
01. november 2004 - 17:48 #19
Jo.

Pointen i mit eksempel var while løkken.
Avatar billede need4speed Nybegynder
01. november 2004 - 17:52 #20
sådan, men får fejl når den lukke connecttionen bagefter

<?php
$con = include "database.php"; ?>
<table border="1">
<tr>
<th>F1</th>
</tr>
<?php
$rs = mysql_query("SELECT * FROM list") or die(mysql_error());
while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {
    print "<tr>\n";
    print "<td><a href='showone?F1=" . $row["id"] . "'>" . $row["test"] . "</a></td>\n";
    print "</tr>\n";
}
mysql_free_result($rs);
?>
</table>
Avatar billede arne_v Ekspert
01. november 2004 - 18:07 #21
Hvilken fejl ?
Avatar billede need4speed Nybegynder
01. november 2004 - 18:27 #22
har lavet en form og skal tilføje data via formen...

$sql = "INSERT INTO list values ('', '$_POST[navn]', '$_POST[emne]', $_POST[year]',)";

hvor ligger fejlen
Avatar billede arne_v Ekspert
01. november 2004 - 18:52 #23
Skal det ikke være:

$sql = "INSERT INTO list values ('', '$_POST[navn]', '$_POST[emne]', $_POST[year]')";

altså uden det sidste komma ?
Avatar billede michael_stim Ekspert
01. november 2004 - 18:56 #24
$sql = "INSERT INTO list values ('$_POST[navn]', '$_POST[emne]', $_POST[year]')";
Og uden den förste '', hvis det er autogenereret ID.
Avatar billede need4speed Nybegynder
01. november 2004 - 18:59 #25
det er autogenereret ID
Avatar billede arne_v Ekspert
01. november 2004 - 19:00 #26
Så skal du bruge:

$sql = "INSERT INTO list values (NULL, '$_POST[navn]', '$_POST[emne]', $_POST[year]')";

eller

$sql = "INSERT INTO list (navn,emne,year) values ('$_POST[navn]', '$_POST[emne]', $_POST[year]')";
Avatar billede need4speed Nybegynder
01. november 2004 - 19:00 #27
fik fande det til at virke før.. men nu kan jeg lige pludselig ikke få den til at indsætte data via formularen får fejl...
Avatar billede need4speed Nybegynder
01. november 2004 - 19:02 #28
prøver
Avatar billede need4speed Nybegynder
01. november 2004 - 19:05 #29
ok inden jeg banker hovedet ind i væggen hvad er der galt...

Min form:

<HTML>

<HEAD>

<TITLE>Insert Form</TITLE>

</HEAD>

<BODY>

<FORM ACTION="insert.php" METHOD=POST>

<P>Tilf&oslash;je TV artikel </p>
<table width="100%"  border="0">
  <tr>
    <td width="20%">Model navn </td>
    <td width="80%"><input type=text name="name" size=30></td>
  </tr>
  <tr>
    <td>&Aring;rgang</td>
    <td><input type=text name="year" size=30></td>
  </tr>
  <tr>
    <td>emne </td>
    <td><input type=text name="emne" size=30></td>
  </tr>
  <tr>
    <td>Beskrivelse </td>
    <td><input type=text name="beskriv" size=30></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<P><br>
 
  <input type=submit name="submit" value="Insert Record">
</p>
</FORM>

</BODY>

</HTML>

php delen

<?php

// open the connection

$conn = mysql_connect("localhost", "xxx", "xxx1");

// pick the database to use

mysql_select_db("list",$conn);

// create the SQL statement

$sql = "INSERT INTO list values (NULL, '$_POST[name]', '$_POST[emne]', $_POST[year]')";

// execute the SQL statement

if (mysql_query($sql, $conn)) {

    echo "record added!";

} else {

    echo "something went wrong";

}

?>
Avatar billede arne_v Ekspert
01. november 2004 - 19:26 #30
Mangler der ike også en dap foran year ?

$sql = "INSERT INTO list values (NULL, '$_POST[name]', '$_POST[emne]', '$_POST[year]')";
Avatar billede need4speed Nybegynder
01. november 2004 - 21:56 #31
php delen did something wrong :(
Avatar billede need4speed Nybegynder
01. november 2004 - 21:59 #32
en de lige gider se om problemet ligger i min database?
Avatar billede need4speed Nybegynder
01. november 2004 - 22:14 #33
dette er min include db

<?php

$conn = mysql_connect("localhost", "xxx", "xxx");

mysql_select_db("usr_web33_1",$conn);

?>

den ser da rigtig ud ik?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

Tech-studentermedhjælpere i PET

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Netværksteknikere til design, drift og vedligehold ved Cyberdivisionen

SOS International

Cisco Call Manager Specialist

Operate Technology A/S

PHP-udvikler til Drupal