Toon posts:

PHP/MYSQL formpje en timestamp help

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ga het even simpel houden door me 3 docs te posten

alle eerst input.html is een simpel formpje waarmee ik gegevens wil laten inserten door insert.php

<html>
<form action="insert.php" method="post">
Quote: <br><TEXTAREA name="quote" rows="4" cols="30"></TEXTAREA><P>
User: <input type="text" name="QCharacter"><p>
<input type="Submit" value="Click me now!!">
</form>
</html>

mijn insert.php

<?
if($_POST['quote']=="")
{
print("Sorry, we don't do blank stuff, try again <a href=input.html>here</a>");
echo "<br>Or go to the Quotes section <a href=output.php>here</a>";
}else{
include("connect.php");

$query = "INSERT INTO quotes(QUOTE, Q_USER,TIME)
VALUES('$quote','$QCharacter', NOW())";

mysql_query($query) or die("Error executing query");

mysql_close();
echo "Good job, would you like to view the stats now?
Go here then <a href=output.php>output</a>";
}

?>

mijn tabel bestaat uit

Veld Type Attributen Null Standaardwaarde Extra Actie
ID int(11) Nee auto_increment
QUOTE text Nee
Q_USER text Nee
TIME timestamp(14) Ja NULL

mijn output.php is dit

<html>
<?
include("connect.php");

$query="SELECT * FROM quotes";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

echo "<b><center>Quotes Section</b><br><br>";

$i=0;
echo "<table border=3 width=100% CELLPADDING=3 CELLSPACING=0><tr>";
while ($i < $num) {

$ID=mysql_result($result,$i,ID);
$quote=mysql_result($result,$i,"QUOTE");
$Q_USER=mysql_result($result,$i,"Q_USER");
$time=mysql_result($result,$i,"TIME");
$format_time=date("l dS of F Y h:i:s A", $time);

echo "<tr>
<td WIDTH=75 align=center>$ID</td>
<td>$quote</td>
<td WIDTH=125>$Q_USER</td>
<td> $format_time</td></tr>";

++$i;
}
?>

<a href=input.html>Go back to the input form</a>
</html>


Nu 2 probleempjes
alle eerst krijg ik door dat NOW() cijfertjes die ik wil formatteren, maar niet weet hoe het moet: mijn output, date("l dS of F Y h:i:s A", $time); ( en $time is dus uitkomst bij NOW(), krijgt altijd Tuesday 19th of January 2038 04:14:07 AM

en ik krijg behalve mijn ID en dus TIME verder niets in mijn database!
Oftewel quote en q_user is gewoon blank/leeg terwijl ik toch een if loop heb gemaakt dat als textarea van quote leeg is, dat het dan een foutmelding geeft, dus ik heb wel degelijk iets ingevuld dus ik snap het ook niet meer

graag hulp voor een php nieweling.

Verwijderd

denk onder andere aan hoe je de variabelen opvraagt... deze variabelen zijn met de headers mee gestuurt dus dat wil al zeggen de $_POST gebruiken als je global variabelen niet aan staan...

mbt tot NOW() ik gebruik zelf altijd time() een functie van PHP zelf zo weet ik zelf altijd zeker dat hij de tijd gebruikt waar op de php file wordt uitgevoerd en niet de tijd van de server waarop de database-server draait...

dan wordt de insert query:
PHP:
1
$query = "INSERT INTO quotes(QUOTE, Q_USER,TIME) VALUES('" . $_POST["quote"] . "','" . $_POST["QCharacter"] . "', " . time() . ")";


ten tweede je output

je had de database al gesloten voor dat je de results wilde bekijken en dat ding er fout mbt tot je datum met tijd weergeven en later ook met de quotes en users...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<?
include("connect.php");

$query="SELECT * FROM quotes";
$result=mysql_query($query);

echo "<b><center>Quotes Section</b><br><br>";

$i=0;
echo "<table border=3 width=100% CELLPADDING=3 CELLSPACING=0><tr>"; 
while ( $myResult = mysql_fetch_array( $result ) ) {

$ID=$myResult["ID"];
$quote=$myResult["QUOTE"];
$Q_USER=$myResult["Q_USER"];
$time=$myResult["TIME"];
$format_time=date("l dS of F Y h:i:s A", $time);

echo "<tr>";
echo "<td width=\"75\" align=\"center\">$ID</td>";
echo "<td>$quote</td>";
echo "<td width=\"125\">$Q_USER</td>";
echo "<td>$format_time</td>";
echo "</tr>";
}
echo "</table>";
?>

Verwijderd

Topicstarter
iig de blanke posten opgelost

thanx Caesium :0
ga nu verder op dat time thingy in dunkt me

Verwijderd

Verwijderd schreef op 27 oktober 2002 @ 21:33:
iig de blanke posten opgelost

thanx Casesium :0
ga nu verder op dat time thingy in dunkt me
zie me edit :)

je deed in je script

mysql_close
voor
mysql_result

mysql_result is zijn resource-id kwijt dus gaat het mis

  • vinnux
  • Registratie: Maart 2001
  • Niet online
De MySql Timestamp en PHP date verschillen van elkaar.
code:
1
SELECT UNIX_TIMESTAMP('TIME') as `TIME`, .....

Deze sql zorgt ervoor dat de Timestamp naar een door date te begrijpen waarde wordt geconverteerd.

Verwijderd

Topicstarter
snap nog steeds niet waarom ik die tijd niet goed krijg

heb nu bij output ook dit geprobeerd

$time=$myResult["TIME"];
$format_time=date('h:i:s a d/m/Y', '$time');

en dan krijg ik dit 01:00:00 am 01/01/1970

  • Tranq
  • Registratie: Oktober 1999
  • Laatst online: 16-10-2024
haal de quotes eens om $time weg...

Verwijderd

Topicstarter
hmm vaag wat verandert

nu krijg ik bij alle 4 entries
04:14:07 am 19/01/2038

ugh
heb nu de juiste code voor date display, maar moet er nu nog een timestamp van maken

  • vinnux
  • Registratie: Maart 2001
  • Niet online
LEES !!!!
SELECT UNIX_TIMESTAMP('TIME') as `TIME`, .....
Pagina: 1