Leeftijd uitrekenen vanuit MYSQL en van verkorte tekens naar volledige tekst

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Daan s

Daan s

10/04/2012 01:22:57
Quote Anchor link
Goeden nacht iedereen (1:11 in de nacht :P)

Ik heb 2 vraagjes..

Ten eerste ik ben bezig met een registratie sysyteem (met mysql)
deze zal een geboorte datum in een mysql database moeten zetten bijv: 21/03/1993. ik wil dit dan uit laten drukken naar een leeftijd in dit geval dus 19.

-_-

Tevens staat er in dit registratie formulier ook de mogelijkheid om vrouw/man te selecteren, deze worden in de mysql database als m of v opgeslagen, maar hoe zou ik deze uit kunnen drukken als man of vrouw in plaats van m/v op de php pagina

Momenteel ben ik zo ver met het script (als ik ontzettend falends heb gedaan gewoon zeggen :)

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
<?php

session_start();  
$ID = $_SESSION['user'];
$PASS = $_SESSION['pass'];


 mysql_connect("localhost", "admin", "**") or die(mysql_error());
 mysql_select_db("**") or die(mysql_error());
 $data = mysql_query("SELECT * FROM members WHERE username = '$ID' AND password = '$PASS'")
 or die(mysql_error());
 while($info = mysql_fetch_array( $data ))
 {


 Print "<th>Gebruikersnaam:</th> <td>".$info['username'] . "</td> ";
 Print '<br />';

   Print "<th>E-mail:</th> <td>".$info['email'] . "</td> ";
    Print '<br />';
      Print "<th>Ik ben een:</th> <td>".$info['m/v'] . "</td> ";

 }

 
 ?>

<form action="#">
<p>
<label>Ik zoek een</label>
<select name="ik-zoek" class="red" id="ik-zoek" style="width:150px; font-size:14px">
<option value="Man">Man</option>
<option value="Stel">Stel</option>
<option value="Vrouw" >Vrouw</option>
</select>
<label>Geboortemaand / -jaar</label>
<select style="width:40px; font-size:14px" name="F_GEBDAG">
<option value="0">??</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20" selected="">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select style="width:58px; font-size:14px" name="F_GEBMAAND">
<option value="0"> - Selecteer - </option>
<option value="240">Januari</option>
<option value="241">Februari</option>
<option value="242" selected="">Maart</option>
<option value="243">April</option>
<option value="244">Mei</option>
<option value="245">Juni</option>
<option value="246">Juli</option>
<option value="247">Augustus</option>
<option value="248">September</option>
<option value="249">Oktober</option>
<option value="250">November</option>
<option value="251">December</option>
</select><select style="width:58px; font-size:14px" name="F_GEBJAAR">
<option value="0">????</option>
<option value="1900">1900</option>
<option value="1901">1901</option>
<option value="1902">1902</option>
<option value="1903">1903</option>
<option value="1904">1904</option>
<option value="1905">1905</option>
<option value="1906">1906</option>
<option value="1907">1907</option>
<option value="1908">1908</option>
<option value="1909">1909</option>
<option value="1910">1910</option>
<option value="1911">1911</option>
<option value="1912">1912</option>
<option value="1913">1913</option>
<option value="1914">1914</option>
<option value="1915">1915</option>
<option value="1916">1916</option>
<option value="1917">1917</option>
<option value="1918">1918</option>
<option value="1919">1919</option>
<option value="1920">1920</option>
<option value="1921">1921</option>
<option value="1922">1922</option>
<option value="1923">1923</option>
<option value="1924">1924</option>
<option value="1925">1925</option>
<option value="1926">1926</option>
<option value="1927">1927</option>
<option value="1928">1928</option>
<option value="1929">1929</option>
<option value="1930">1930</option>
<option value="1931">1931</option>
<option value="1932">1932</option>
<option value="1933">1933</option>
<option value="1934">1934</option>
<option value="1935">1935</option>
<option value="1936">1936</option>
<option value="1937">1937</option>
<option value="1938">1938</option>
<option value="1939">1939</option>
<option value="1940">1940</option>
<option value="1941">1941</option>
<option value="1942">1942</option>
<option value="1943">1943</option>
<option value="1944">1944</option>
<option value="1945">1945</option>
<option value="1946">1946</option>

<option value="1947">1947</option>
<option value="1948">1948</option>
<option value="1949">1949</option>
<option value="1950">1950</option>
<option value="1951">1951</option>
<option value="1952">1952</option>
<option value="1953">1953</option>
<option value="1954">1954</option>
<option value="1955">1955</option>
<option value="1956">1956</option>
<option value="1957">1957</option>
<option value="1958">1958</option>
<option value="1959">1959</option>
<option value="1960">1960</option>
<option value="1961">1961</option>
<option value="1962">1962</option>
<option value="1963">1963</option>
<option value="1964">1964</option>
<option value="1965">1965</option>
<option value="1966">1966</option>
<option value="1967">1967</option>
<option value="1968">1968</option>
<option value="1969">1969</option>
<option value="1970">1970</option>
<option value="1971">1971</option>
<option value="1972">1972</option>
<option value="1973">1973</option>
<option value="1974">1974</option>
<option value="1975">1975</option>
<option value="1976">1976</option>
<option value="1977">1977</option>
<option value="1978">1978</option>
<option value="1979">1979</option>
<option value="1980">1980</option>
<option value="1981">1981</option>
<option value="1982">1982</option>
<option value="1983">1983</option>
<option value="1984">1984</option>
<option value="1985">1985</option>
<option value="1986">1986</option>
<option value="1987">1987</option>
<option value="1988">1988</option>
<option value="1989">1989</option>
<option value="1990">1990</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993" selected="">1993</option>
<option value="1994">1994</option>
</select></p>
<p>
<label>Land</label>
<select name="country" class="red" id="ik-zoek2" style="width:150px; font-size:14px">
<option value="1">Nederland</option>
<option value="2">België</option>

</select>
</p>
<p><br />
<input class="button" type="submit" />
</p>
</form>
<br />
 
PHP hulp

PHP hulp

28/04/2024 18:45:17
 
Obelix Idefix

Obelix Idefix

10/04/2012 07:59:20
Quote Anchor link
Daan tje op 10/04/2012 01:22:57:
deze zal een geboorte datum in een mysql database moeten zetten bijv: 21/03/1993. ik wil dit dan uit laten drukken naar een leeftijd in dit geval dus 19.

Ik mag hopen dat je geen datum als 21/03/1993 in je database wilt. Kies voor date als veldtype.
Leeftijd laat je berekenen als je het nodig hebt.

Daan tje op 10/04/2012 01:22:57:
maar hoe zou ik deze uit kunnen drukken als man of vrouw in plaats van m/v op de php pagina

Gewoon als man / vrouw? Begrijp je probleem niet.

or die --> lijkt me geen nette foutafhandeling.
Waarom al die dagen en jaartallen uitschrijven? Zet ze in een loop.
Waarom variabelen kopieren?
Gewijzigd op 10/04/2012 08:00:04 door Obelix Idefix
 
Albert de Wit

Albert de Wit

10/04/2012 08:49:08
Quote Anchor link
waarom geen for loopje in plaats van al die regels?

Toevoeging op 10/04/2012 08:52:30:

verder als je je leeftijd wilt berekenen moet je gewoon de tijd van nu nemen

$dit_jaar = date("Y"); geeft 2012 weer
$geboortejaar = $_POST['geboortejaar']; geeft bijvoorbeeld 1994 weer

$leeftijd = $dit_jaar-$geboortejaar;

Ik hoop dat dit is wat je zoekt.
 
Peter huizenga

Peter huizenga

10/04/2012 09:00:37
Quote Anchor link
Nog geen 2 Min googlen:

function dateDiff($dformat, $endDate, $beginDate)
{
$date_parts1=explode($dformat, $beginDate);
$date_parts2=explode($dformat, $endDate);
$start_date=gregoriantojd($date_parts1[0], $date_parts1[1], $date_parts1[2]);
$end_date=gregoriantojd($date_parts2[0], $date_parts2[1], $date_parts2[2]);
return $end_date - $start_date;
}

$date1="07/11/2003";
$date2="09/04/2004"; // Opgegeven datum
$date3=date("dd/mm/Y"); // Voor huidige datum

print "If we subtract " . $date1 . " from " . $date2 . " we get " . dateDiff("/", $date2, $date1) . ".";
 
Reshad F

Reshad F

10/04/2012 10:02:43
Quote Anchor link
ik heb je code even een beetje veranderd kijk er even naar en vergelijk het met je eigen code.

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
45
46
47
48
49
50
<?php
// start sessie
 session_start();

 // password zet je niet in een sessie, dit maakt je script onveilig. gebruik hier alleen de username/id voor
 $ID = $_SESSION['user'];

 // gooi je connection script in een losse php file en include deze ( stel je wilt het op meerdere pagina's gebruiken dan hoef je het niet weer uit te typen maar kan je gewoon includen, bijv:)
 include ('connection.php');

 // verder foutafhandeling inbouwen doe je niet met or die maar zo:
 $connect = mysql_connect("localhost", "admin", "password");

 if ($connect === false){
     echo "er kon niet geconnect worden met de database";
 }


 else {
     $database = mysql_select_db(database_name, $connect);

     if ($database === false){
         echo "database kon niet worden geselecteerd";
     }

     // verder houd variablen buiten quotes en gebruik geen wildcard (*)
     else {
         $data =" SELECT
                         username, password, geslacht
                  FROM
                          Table_name
                  WHERE
                          username = '"
. mysql_real_escape_string($ID)."'
                 "
;

                 $ophalen = mysql_query($data);
                 if ($ophalen === false){
                     echo "gegevens konden niet worden opgehaald.";
                 }

                 else {
                     while($row = mysql_fetch_assoc($ophalen)){

                         echo "<th>Gebruikersnaam:</th> <td>".$row['username'] . "</td> ";
                         echo "<br />";
                           echo "<th>E-mail:</th> <td>".$row['email'] . "</td> ";
                        echo "<br />";
                          echo "<th>Ik ben een:</th> <td>".$row['m/v'] . "</td> ";
                     }
                 }
     }
 }

 ?>
Gewijzigd op 10/04/2012 10:21:02 door Reshad F
 
Frank WD

Frank WD

10/04/2012 10:11:46
Quote Anchor link
Reshadd, even kleine kant tekening/vraag/opmerking.
Is het niet zo dat je in zoals while() enz.. beter echo '' kunt gebruiken in plaats van print'' ?
Tevens zie ik dat je ene keer print"" gebruikt en andere keer print''. Dit zou je beter gelijk kunnen houden,toch?
 
Reshad F

Reshad F

10/04/2012 10:19:45
Quote Anchor link
oh ja ik heb het even snel gemaakt en de print had ik van de TS zelf gekopieerd je kan idd echo gebruiken beter en eerlijk gezegd heb ik niet heel uitgebreid naar zijn printjes gekeken ( de quotes dan ) omdat de kleurtjes goed zaten in mijn editor :) maar je hebt wel gelijk ik ga het even aanpassen.
 
Erwin H

Erwin H

10/04/2012 10:25:11
Quote Anchor link
Albert de Wit op 10/04/2012 08:49:08:
verder als je je leeftijd wilt berekenen moet je gewoon de tijd van nu nemen

$dit_jaar = date("Y"); geeft 2012 weer
$geboortejaar = $_POST['geboortejaar']; geeft bijvoorbeeld 1994 weer

$leeftijd = $dit_jaar-$geboortejaar;

Ik hoop dat dit is wat je zoekt.

Heh heh, dat werkt geweldig voor iedereen die op 1 januari jarig is. Voor iedereen die later jarig is werkt dat maar een deel van het jaar.....

Voor leeftijd zal je dus ook een check moeten doen of de dag in het jaar lager is dan de dag van het geboortejaar. Iemand die op 1 juni 1990 is geboren is vandaag (10 april 2012) nog 21, maar op 10 juni 2012 is die 22. Met DAY() en MONTH() kan je de dag en maand uit een datum halen. Als je dat doet voor het veld in de database en voor DATE(), wat de huidige datum teruggeeft, dan kan je checken of je al voorbij de verjaardag bent in het jaar of niet.
Je kan ook kijken naar de functie DAYOFYEAR() alleen dan moet je uitkijken met schrikkeljaren.

P.S. dit is allemaal voor SQL, niet PHP. Dit soort berekeningen kan je beter in SQL uitvoeren, zeker als je het ook wilt gebruiken om rijen wel of niet te selecteren.
Gewijzigd op 10/04/2012 10:27:27 door Erwin H
 
Albert de Wit

Albert de Wit

10/04/2012 10:27:57
Quote Anchor link
ja klopt.. het is niet erg accuraat.. 1 op de 365 mensen krijgt een perfecte leeftijd binnen. Ik denk dat je op timestamps moet werken en dan de huidige timestamp min de geboorte timestamp en dan die van elkaar af trekken. Ik dacht dat dat wel moest kloppen.
 
Erwin H

Erwin H

10/04/2012 10:51:01
Quote Anchor link
Timestamp lijkt me ook geen goed plan voor een geboortedatum:
Quote:
The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

Iedereen geboren voor 1 januari 1970 heeft dan dus pech.
 
Albert de Wit

Albert de Wit

10/04/2012 10:54:21
Quote Anchor link
ik weet dat 1970-01-01 00:00:01 timestamp heeft van 1 maar ik doel eigenlijk naar de min kant

-1 moet dan toch zijn 1969-12-31 23:59:59 ?
 
Daan s

Daan s

10/04/2012 11:03:39
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
// start sessie
 session_start();

 // password zet je niet in een sessie, dit maakt je script onveilig. gebruik hier alleen de username/id voor
 $ID = $_SESSION['user'];


 $connect = mysql_connect("localhost", "admin", "admin");

 if ($connect === false){
     echo "er kon niet geconnect worden met de database";
 }


 else {
     $database = mysql_select_db(Testdatabase, $connect);

     if ($database === false){
         echo "database kon niet worden geselecteerd";
        
        
     }

     // verder houd variablen buiten quotes en gebruik geen wildcard (*)
     else {
         $data ="SELECT
                         username, password, m/v
                  FROM
                          members
                  WHERE
                          username = '"
. mysql_real_escape_string($ID)."'
                 "
;

                 $ophalen = mysql_query($data);
                 if ($ophalen === false){
                     echo "gegevens konden niet worden opgehaald.";
                 }

                 else {
                     while($row = mysql_fetch_assoc($ophalen)){

                         Print "<th>Gebruikersnaam:</th> <td>".$info['username'] . "</td> ";
                         Print '<br />';
                           Print "<th>E-mail:</th> <td>".$info['email'] . "</td> ";
                        Print '<br />';
                          Print "<th>Ik ben een:</th> <td>".$info['m/v'] . "</td> ";
                     }
                 }
     }
 }

 ?>


En de database

-- phpMyAdmin SQL Dump
-- version 3.4.10.1
-- http://www.phpmyadmin.net
--
-- Machine: localhost
-- Genereertijd: 10 apr 2012 om 10:59
-- Serverversie: 5.1.49
-- PHP-Versie: 5.3.10

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `Sexdates`
--

-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `Testdatabase`
--

CREATE TABLE IF NOT EXISTS `members` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`username` varchar(65) NOT NULL DEFAULT '',
`password` varchar(65) NOT NULL DEFAULT '',
`Age` text NOT NULL,
`m/v` varchar(5) NOT NULL,
`credits` varchar(10) NOT NULL DEFAULT '60',
`email` varchar(225) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Gegevens worden uitgevoerd voor tabel `members`
--

INSERT INTO `members` (`id`, `username`, `password`, `Age`, `m/v`, `credits`, `email`) VALUES
(1, 'john', '1234', '', '0', '60', ''),
(2, 'ohdude', '227321', '', 'man', '60', '[email protected]');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Toevoeging op 10/04/2012 11:10:04:

leuk ik gooide m'n vraag er uit.

ik heb het script van reshadd geciteerd, maar ik krijg telkens de melding 'gegevens konden niet worden opgehaald' hij haalt dus geen gegevens uit de tabel verder laat hij de host, database wel dus ik kan het probleem niet vinden.

Zou iemand mij nog een klein beetje verder kunnen helpen -_-
of willen voor doen hoe ik een or die(mysql_error()) optie in kan stellen in

$ophalen = mysql_query($data);
if ($ophalen === false){
echo "gegevens konden niet worden opgehaald.";
}

zodat ik zelf de fout kan vinden.

GR, daan ;_)


Daan tje op 10/04/2012 11:03:39:
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
45
46
47
48
49
<?php
// start sessie
 session_start();

 // password zet je niet in een sessie, dit maakt je script onveilig. gebruik hier alleen de username/id voor
 $ID = $_SESSION['user'];


 $connect = mysql_connect("localhost", "admin", "admin");

 if ($connect === false){
     echo "er kon niet geconnect worden met de database";
 }


 else {
     $database = mysql_select_db(Testdatabase, $connect);

     if ($database === false){
         echo "database kon niet worden geselecteerd";
        
        
     }

     // verder houd variablen buiten quotes en gebruik geen wildcard (*)
     else {
         $data ="SELECT
                         username, password, m/v
                  FROM
                          members
                  WHERE
                          username = '"
. mysql_real_escape_string($ID)."'
                 "
;

                 $ophalen = mysql_query($data);
                 if ($ophalen === false){
                     echo "gegevens konden niet worden opgehaald.";
                 }

                 else {
                     while($row = mysql_fetch_assoc($ophalen)){

                         Print "<th>Gebruikersnaam:</th> <td>".$info['username'] . "</td> ";
                         Print '<br />';
                           Print "<th>E-mail:</th> <td>".$info['email'] . "</td> ";
                        Print '<br />';
                          Print "<th>Ik ben een:</th> <td>".$info['m/v'] . "</td> ";
                     }
                 }
     }
 }

 ?>


En de database

-- phpMyAdmin SQL Dump
-- version 3.4.10.1
-- http://www.phpmyadmin.net
--
-- Machine: localhost
-- Genereertijd: 10 apr 2012 om 10:59
-- Serverversie: 5.1.49
-- PHP-Versie: 5.3.10

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `Sexdates`
--

-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `Testdatabase`
--

CREATE TABLE IF NOT EXISTS `members` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`username` varchar(65) NOT NULL DEFAULT '',
`password` varchar(65) NOT NULL DEFAULT '',
`Age` text NOT NULL,
`m/v` varchar(5) NOT NULL,
`credits` varchar(10) NOT NULL DEFAULT '60',
`email` varchar(225) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Gegevens worden uitgevoerd voor tabel `members`
--

INSERT INTO `members` (`id`, `username`, `password`, `Age`, `m/v`, `credits`, `email`) VALUES
(1, 'john', '1234', '', '0', '60', ''),
(2, 'ohdude', '227321', '', 'man', '60', '[email protected]');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 
Erwin H

Erwin H

10/04/2012 11:18:25
Quote Anchor link
Albert de Wit op 10/04/2012 10:54:21:
ik weet dat 1970-01-01 00:00:01 timestamp heeft van 1 maar ik doel eigenlijk naar de min kant

-1 moet dan toch zijn 1969-12-31 23:59:59 ?

Uh, nee dus. Probeer maar eens gewoon -1 in te voeren, dat gaat je niet lukken. Ook met de functie FROM_UNIXTIME krijg je dan een iets andere waarde dan je denkt.
Uiteindelijk komen de limieten namelijk niet voort uit de unix tijd (begin bij 1 januari 1970), maar uit het feit dat het als een integer wordt opgeslagen. Daardoor loop je gewoon vast op hoe groot dat getal kan worden. Zelfs al zou je negatieve waardes in kunnen voeren, dan nog krijg je ergens een limiet.
 
Reshad F

Reshad F

10/04/2012 11:18:43
Quote Anchor link
haal alsjeblieft even alle onnodige code wat niet relevant is weg, dit houd je topic overzichtelijk en makkelijk voor andere gebruikers om naar te kijken en je te helpen. dus bijv alle html eruit gooien en je sql dump kan drie-kwart korter bijvoorbeeld.
 
Erwin H

Erwin H

10/04/2012 11:21:32
Quote Anchor link
Daan tje op 10/04/2012 11:03:39:
`m/v` varchar(5) NOT NULL,

Dit lijkt mij de boosdoener. Je kan geen speciale characters als '/' gebruiken in tabel of veld namen. http://dev.mysql.com/doc/refman/5.0/en/identifiers.html
Gewijzigd op 10/04/2012 11:21:59 door Erwin H
 
Reshad F

Reshad F

10/04/2012 11:23:14
Quote Anchor link
Erwin H op 10/04/2012 11:21:32:
Daan tje op 10/04/2012 11:03:39:
`m/v` varchar(5) NOT NULL,

Dit lijkt mij de boosdoener. Je kan geen speciale characters als '/' gebruiken in tabel of veld namen. http://dev.mysql.com/doc/refman/5.0/en/identifiers.html



Yep, maak hier geslacht van ofzo.
 
Daan s

Daan s

10/04/2012 13:49:17
Quote Anchor link
reshadd je had idd gelijk wat betreft het / teken.
nu krijg ik wel de
- Gebruikersnaam:
- E-mail:
- Ik ben een:

Maar tevens nog geen gegevens die daar aan gekoppelt zijn
 
Reshad F

Reshad F

10/04/2012 13:51:43
Quote Anchor link
@erwin zei het :) dus hij krijgt de credits!

verder denk ik dat de rijen die je ophaalt in sql en de rijen die je echoed verschillen, kan dat kloppen?
 
Daan s

Daan s

10/04/2012 13:52:21
Quote Anchor link
ook mijn excuses voor de onodige code's

Toevoeging op 10/04/2012 14:02:29:

niet dat ik weet, in deze denk ik dat het voor de rest niet uit maakt ;)
De (my)sql dump staat er in deze bij en dit is tevens ook de enige die ik gebruik, ik moest wel ff kijken wat je nou eigelijk schreef :P

Toevoeging op 10/04/2012 14:05:30:

Zover ik weet zijn deze identiek

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
     Print "<th>Gebruikersnaam:</th> <td>".$info['username'] . "</td> ";
                         Print '<br />';
                           Print "<th>E-mail:</th> <td>".$info['email'] . "</td> ";
                        Print '<br />';
                          Print "<th>Ik ben een:</th> <td>".$info['mv'] . "</td> ";
?>


en de database

`id` int(4) NOT NULL AUTO_INCREMENT,
`username` varchar(65) NOT NULL DEFAULT '',
`password` varchar(65) NOT NULL DEFAULT '',
`Age` text NOT NULL,
`mv` varchar(5) NOT NULL,
`credits` varchar(10) NOT NULL DEFAULT '60',
`email` varchar(225) NOT NULL,

Toevoeging op 10/04/2012 14:06:14:

ik heb ze maar even tussen php haakjes gezet xD
 
Erwin H

Erwin H

10/04/2012 14:29:56
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
while($row = mysql_fetch_assoc($ophalen)){
  Print "<th>Gebruikersnaam:</th> <td>".$info['username'] . "</td> ";
?>

Waar komt $info opeens vandaan? De resultaten van de query die je fetcht komen namelijk in $row terecht.

Tevens heb je ook een hele vreemde (lees: foute) manier van het gebruik van 'th' en 'td' tags.
Gewijzigd op 10/04/2012 14:30:10 door Erwin H
 
Marco PHPJunky

Marco PHPJunky

10/04/2012 14:31:28
Quote Anchor link
@Daantje,

Mag ik vragen waarom je in je database het geslacht als varchar hebt staan ?
Is het niet veel makkelijker om dit als int(1), tinyint, boolean of enum ?

Aangezien je eigenlijk grof maar 2 opties hebt (man/vrouw) kan dit heel goed met;
1/0, true/false
en met ENUM kan je ook 3,4 opties menen.

En Age hoef je niet op te slaan in je database want dit is uit te rekenen door php of mysql (voorkeur mysql) met bijvoorbeeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT *, YEAR(CURDATE()) - YEAR(birthdate) AS age FROM user;

(even snel uit me hoofd)
Gewijzigd op 10/04/2012 14:35:40 door Marco PHPJunky
 

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.