Mysql / Date problemen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Omar

omar

02/11/2006 11:25:00
Quote Anchor link
$e = date(Y);
$f = date(M);
$a = $_POST['ltype'];
$b = $_POST['ialgemeen'];
$c = $_POST['itips'];
$d = date(Gysdmy);;
$sql = "insert into nieuwsbrief (newskopid,lettertype,maand,jaar,algemeen,tip) values
('$d','$a','$f','$e','$b,'$c')";
mysql_query($sql) or die ($a);

Ik kom er echt niet uit wat de fout hier is als er een fout is zit het volgens mij vast wel in die date functie want als ik die weghaal worden mijn gegevens
toegevoegd in de database kan iemand mij mischien helpen

Edit:

Admin: Ik wordt langzame hand *** ziek van topics als dringend hulp nodig. Als je zo veel haast hebt. Huur dan iemand in die je 24/7 kan helpen. Wij zijn hier nog steeds vrijwilligers dus wij kunnen niet altijd snel helpen...

Voor de rest topcis als dringend hulp nodig zegen niets over de inhod...
Gewijzigd op 01/01/1970 01:00:00 door Omar
 
PHP hulp

PHP hulp

18/11/2024 20:17:01
 
Niels Beckers

Niels Beckers

02/11/2006 11:27:00
Quote Anchor link
mysql_query($sql) or die ($a);
ik weet niet wat je hier mee wil bereiekn maar doe eens

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php

mysql_query($sql) or die(mysql_error());
?>


Zo krijg je betere foutenafhandeling
 
- wes  -

- wes -

02/11/2006 11:29:00
Quote Anchor link
achter je date var staan 2 ;;
daarbij is het beter date ('Gysdmy') met quotes te doen
bovendien is je naamgeven om te huilen zo slecht
 
Omar

omar

02/11/2006 11:32:00
Quote Anchor link
$e = date('Y');
$f = date('M');
$a = $_POST['ltype'];
$b = $_POST['ialgemeen'];
$c = $_POST['itips'];
$d = date('Gysdmy');
$sql = "insert into nieuwsbrief (newskopid,lettertype,maand,jaar,algemeen,tip) values
('$d','$a','$f','$e','$b,'$c')";
mysql_query($sql) or die (mysql_error());


Nu heb ik dit staan maar het helpt nog steeds niet , is het wel mogelijk om de functie date in de database te zetten
 
Niels Beckers

Niels Beckers

02/11/2006 11:37:00
Quote Anchor link
Normaal kun je beter de Functie NOW() gebruiken
maar dan moet je database wel Datetime zijn
 
Joren de Wit

Joren de Wit

02/11/2006 11:38:00
Quote Anchor link
Een datum komt in je database in een DATE of DATETIME veld te staan. Het formaat dat je moet aanhouden is dan yyyy-mm-dd, maar als je de huidige datum in wilt vullen kun je beter in je query de mysql functie NOW() of CURDATE() gebruiken.

ps. Van die datum die je nu creert met de date() functie klopt ook vrij weinig, wat doet die eerste 'y' daar? Je formaat is nu uren-jaren-seconden...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
- wes  -

- wes -

02/11/2006 11:39:00
Quote Anchor link
doe eens echo $sql , en verander je varnamen!
 
- SanThe -

- SanThe -

02/11/2006 11:39:00
Quote Anchor link
Ik neem aan dat het database type voor de datum een DATE of DATETIME veld is. Dat kun je vullen met NOW().
 
Josef Zorgui

Josef Zorgui

02/11/2006 12:00:00
Quote Anchor link
Hoe heb je de ja het is mogelijk om functie date in de database te zetten gewoon
$datum = date('D/m/Y');
en dan gewoon mysql_query('INSERT INTO tabel (datum) VALUES ("$datum")');
 
Joren de Wit

Joren de Wit

02/11/2006 12:06:00
Quote Anchor link
@Josef: doe dan dus liever

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
INSERT INTO tabel (datum)
VALUES (CURDATE())
 
Josef Zorgui

Josef Zorgui

02/11/2006 12:22:00
Quote Anchor link
ja kan ook ja ben niet zo goed met php doe bij alles nog heel moeilijk
 
Frank -

Frank -

02/11/2006 12:26:00
Quote Anchor link
Josef Zorgui schreef op 02.11.2006 12:00:
Hoe heb je de ja het is mogelijk om functie date in de database te zetten gewoon
$datum = date('D/m/Y');
en dan gewoon mysql_query('INSERT INTO tabel (datum) VALUES ("$datum")');
Het formaat D/m/Y is géén datum! Het is gewoon een stukje tekst, een string, waar je verder helemaal niets meer mee kunt. Ga er maar eens op sorteren, mee rekenen of mee vergelijken, het is één brok ellende! Vergeet dat je dit ooit zo hebt gedaan, het is een klassieke beginnersfout, geeft niks.

Een datum sla je op in een DATE of een DATETIME en deze eisen het formaat yyyy-mm-dd of yyyy-mm-dd hh:mm:ss. Met CURDATE() of NOW() kun je de huidige datum(tijd) in de database wegschrijven, zoals de anderen dat ook al hebben geroepen.
 
Omar

omar

02/11/2006 12:30:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function datum() {

  return $newsnrid;
}
function
ano() {
  $year = date(Y);
  return $year;
}
function
mes() {
  $month = date(M);
  return $year;
}


        $dbhost = "*****";
        $dbuser = "*****";
        $dbpasswd = "*******";
        $db=mysql_connect("$dbhost","$dbuser","$dbpasswd");
        $db_name="*******";
        mysql_select_db($db_name,$db) or die ("er kon geen verbinding met de database gelegd worden");


?>

<style>
body {
scrollbar-face-color: white;
scrollbar-shadow-color: white;
scrollbar-highlight-color: white;
scrollbar-3dlight-color: white;
scrollbar-darkshadow-color:white;
scrollbar-track-color:white;
scrollbar-arrow-color: #1c9300;
}

td {
background:#59b44b;
border:1px solid #1c9300;
}
textarea {
width:100%;
}
.info {
height:100px;
}
.iinfo {
width:100%;
}
.info ,input {
border:1px solid #1c9300;
}
.iinfo ,input {
border:1px solid #1c9300;
}
.top {
height:100%;
}
.nbtt {
width:325px;
overflow:auto
}
</style>
<body>

<center>
<a href="invoer.php?status=1&stat=3&vervolg=3" >Toevoegen</a>
<table>
<!-- nieuwsbrief -->
<tr>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
switch($_GET['status']){
 case
"1":
  echo'<table class="nbtt">
       <form method="POST" action="invoer.php?status=2&stat=1&vervolg=2" >
       <tr><td><select name="ltype">
       <option value="L1T">Verdana</option>
       <option value="L2T">Times new roman</option>
       <option value="L3T">Arial</option>
       <option value="L4T">Book antique</option>
       </select>
       </td></tr>
       <tr><td>Voer hier de tekst voor algemeen in: </td></tr>
       <tr><td><textarea name="ialgemeen" class="info">
       </textarea> </td></tr>
       <tr><td>Voer hier de tekst voor tips in: </td></tr>
       <tr><td><textarea name="itips" class="info">
       </textarea> </td></tr>
       <tr><td><input type="submit" value="Bevestigen"> </td></tr>
       <tr><td>Terug </td></tr>
       </form>
       </table>'
;
  break;

 case
"2":
  $e = NOW('Y');
  $f = NOW('M');
  $a = $_POST['ltype'];
  $b = $_POST['ialgemeen'];
  $c = $_POST['itips'];
  $d = NOW('Gysdmy');
  $sql = "insert into nieuwsbrief (newskopid,lettertype,maand,jaar,algemeen,tip) values
          ('$d','$a','$f','$e','$b,'$c')"
;
  mysql_query($sql) or die (mysql_error());

  echo 'U bent nu bezig met het nieuws te wijzigen van nieuwsbrief '.$newsnrid.'';
  break;
 case
"3":
  echo 'Hier komen de ingevoerde nieuwsbrief gegevens te staan';
  break;
 default:

  echo 'Deze Pagina heeft nog geen informatie ontvangen';
       }

?>

</td>
<!-- nieuwsitem -->
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
switch($_GET['stat']){
 case
"1":
  echo'<div class="top">
       <table class="nbtt">
       <form method="POST" action="invoer.php?status=3&stat=3&vervolg=1">
       <tr><td>Voer hier de titel in: </td></tr>
       <tr><td><input type="text" name="ititle" class="iinfo"></td></tr>
       <tr><td>Voer hier de tekst in: </td></tr>
       <tr><td><textarea name="itekst" class="info">
       </textarea> </td></tr>
       <tr><td><input type="file" naam="ipl" class="iinfo"> </td></tr>
       <tr><td><input type="submit" value="Bevestigen"> </td></tr>
       <tr><td>Terug </td></tr>
       </form>
       </table>
       </div>'
;
  break;
 case
"2":
  echo 'Voer eerst de nieuwsbrief in om een nieuwsitem toe te voegen.';
  break;
 case
"3":

  $a = $_POST['ititle'];
  $b = $_POST['itekst'];

  $path = '';
  move_uploaded_file($_FILES['ipl']['tmp_name'], $path.$_FILES['ipl']['name']);
  $path = '';
  $file = $path.$_FILES['ipl']['name'];
  $sql = "insert into nieuwskop (titel,text,plaatje) values
          ('$a','$b','$file')"
;
  mysql_query($sql) or die ($a);
  echo 'Hier komen de ingevoerde nieuwsitem gegevens te staan';
  break;
 default:

  echo 'Deze Pagina heeft nog geen informatie ontvangen';
  break;

       }


?>

</td>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
switch($_GET['vervolg']){
 case
"1":
  echo'<div class="top">
       <table class="nbtt">

       <tr><td>Wilt u nog een nieuwsitem toevoegen</td></tr>
       <tr><td><a href="invoer.php?status=2&stat=1&vervolg=2">Ja</a></td></tr>
       <tr><td><a href="invoer.php?status=1&stat=2&vervolg=2">nee</a></td></tr>
       <tr><td></td></tr>
       <tr><td></td></tr>
       <tr><td></td></tr>
       <tr><td></td></tr>
       </table>
       </div>'
;

  break;
 case
"2":
  echo 'Voer eerst de gegevens voor nieuwsitem in';
  break;
 case
"3":
  echo 'Voer eerst de gegevens voor nieuwsitem in';
  break;
 default:

  echo 'Deze Pagina heeft nog geen informatie ontvangen';
       }


?>

</td>




</table>
</center>
</body>



maybe you can look at my source
 
Joren de Wit

Joren de Wit

02/11/2006 12:58:00
Quote Anchor link
Nee, nu maak je een fout. NOW() is geen PHP functie maar een SQL functie. Deze kun je dus alleen gebruiken binnen een query. Zie ook het voorbeeld dat ik in mijn post van 12.06 uur geef.

Daarnaast kloppen de functie boven aan je script ook niet helemaal:
- datum(): waar moet die variabele $newsnrid vandaan komen?
- mes(): je maakt een variabele $month en je retourneert $year?

Gebruik quotes in de date() functie van php. Dus date('Y') in plaats van date(Y).

Geef je variabelen duidelijke namen! Namen als a, b, c, etc. zeggen helemaal niets over de inhoud. Dus in plaats van $c zou je $tips kunnen gebruiken...
 
Omar

omar

02/11/2006 14:04:00
Quote Anchor link
Opgelost bedankt!!

Nog ff een vraagje hoe kan je met select * from alleen de laatste record selecteren dus de laatst toegevoegde
 
Joren de Wit

Joren de Wit

02/11/2006 14:07:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT *
FROM tabel
ORDER BY datum DESC
LIMIT 0,1


Opmerking: gebruik alleen * als je daadwerkelijk ALLE velden uit je tabel nodig hebt. In alle andere gevallen geef je gewoon de benodigde veldnamen op.
 
Omar

omar

02/11/2006 14:17:00
Quote Anchor link
maar ik heb geen datum laten opgeven
is er geen maier om alleen de laatste record te weergeven
dus door tegen mysql te zeggen om alleen de laatste record te weergeven
 
Joren de Wit

Joren de Wit

02/11/2006 14:24:00
Quote Anchor link
En hoe weet mysql wat het laatste record is dan? Als je bijvoorbeeld een veld id (auto_increment) hebt zou je daarop kunnen sorteren.
 
Eris -

Eris -

02/11/2006 14:25:00
Quote Anchor link
Sorteren op datum is ook mogelijk...
 
Omar

omar

02/11/2006 14:25:00
Quote Anchor link
JA DIE HEB IK MAAR IK WIL ALLEEN DE LAATSTE RECORD OPHALEN ZONDER DE REST OPTEHALEN HOE DOE IK DAT?
 
Joren de Wit

Joren de Wit

02/11/2006 14:34:00
Quote Anchor link
Kom op, zelf een beetje proberen mag natuurlijk ook wel. Ik gaf je het zetje in de goede richting al. (sorteren op id)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT *
FROM tabel
ORDER BY id DESC
LIMIT 0,1


Dit geeft het bericht met het hoogste id (en dus waarschijnlijk het laatste) weer.

ps. Laat die capslock maar uit hoor. Dat schreeuwen is echt nergens voor nodig! Iedereen die hier hulp biedt doet dat vrijwillig. Ik wil ook wel bij je langs komen om je te helpen, maar dan zul je wel je portemonnee moeten trekken.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.