Diversen

Status
Niet open voor verdere reacties.
Nee, dat is de voorbeeldcode vanaf de PHP-website hoe je een query uit moet laten voeren en het resultaat terug kunt krijgen.

Ik had er alleen even bij moeten zetten dat je dat mechanisme dus om moet bouwen naar jouw situatie :o (dus jouw database-gegevens en de juiste query)
 
Tha devil ik heb bovenstaande met php opgelost , ik moet jou oplossing nog eens goed bekijken , nu ff te moeilijk :rolleyes:



Verder kan ik het weeknummer in een selectmenu kiezen dus iets als;

Code:
<select id="selectweeknummer">
    <option value="">Selecteer weeknummer</option>
    <option value="41">41</option>
    <option value="42">42</option>
    <option value="43">43</option>
    <option value="44">44</option>
</select>

Nu dus nog alleen als weeknummer 44

PHP:
 <?php
$query = mysql_query ('select id aantal_personen, week_num, message from test WHERE week_num = 44 ')  ;
 ?>
 
Wat is precies je vraag? :)
 
Haha zijn er nog een paar........... maar begin steeds meer te leren.

Kan ik in de query een variabele waarde maken van

WHERE week_num = 46 dus de 46 veranderen in bijv. 52


bijv. met een selectbox/menu ,zodat ik dus een weeknummer kan kiezen..indien mogelijk
er worden dan uiteraard alleen de gegevens van de gekozen week getoond in de webpagina.
Nu is het van alle weken en wordt het wat onoverzichtelijk.
 
Laatst bewerkt:
Je zou het via een $_GET-variabele kunnen regelen;
PHP:
$query = "SELECT id, aantal_personen, week_num, message FROM test";
if (isset($_GET['weeknummer'])) {
    $query .= " WHERE weeknummer = ". mysql_real_escape_string($_GET['weeknummer']);
}
$result = mysql_query($query);
// etc

Als je nu pagina aanroept met ?weeknummer=46 achter de URL dan wordt de volgende query uitgevoerd:
[sql]SELECT id, aantal_personen, week_num, message FROM test WHERE weeknummer = 46[/sql]
Voeg je dat niet toe dan wordt alles geladen.

Via een formulier kun je het dynamisch maken door ipv POST, GET te gebruiken:
HTML:
<form action="" method="GET">
    <select name="weeknummer">
        <option>45</option>
        <option>46</option>
        <option>47</option>
    </select>
    <input type="submit" value="Wijzig weeknummer" />
</form>
 
Laatst bewerkt:
Bedank, op mijn gemak bekijken.

Krijg wel foutmelding maar dat ligt hoogst waarschijnlijk aan mijn code.

Parse error: syntax error, unexpected ')', expecting ']' gaat dan om regel
PHP:
 if (isset($_GET['weeknummer')) {


Dit is waarschijnlijk ook niet goed bij mij ;

PHP:
        $query = mysql_query ('select id, name, email, DATE_FORMAT(date, "%d-%M-%Y") as formatdatum,  telefoonnummer, geslacht, aantal_personen, optellen, week_num, message from test  ORDER BY date ')  ;

Ik moet
PHP:
"%d-%M-%Y"
tussen dubbele aanhalingstekens zetten anders ook foutmelding.
 
Klopt, klein foutje van mij. De array notitie is niet juist afgesloten, ik heb mijn code geüpdatet :)

Quotes maakt niet uit, zolang je de juiste volgorde maar gebruikt. Houdt het wel consistent, begin je de ene keer met enkele quotes houdt dat dan overal aan door met enkele te beginnen.
 
Dan geeft de DATE_FORMAT(date, "%d-%M-%Y") een fout

Parse error: syntax error, unexpected '%'

DATE_FORMAT(date, '%d-%M-%Y') geeft ook weer een fout; (enkele qutest)

mysql_fetch_assoc() expects parameter 1 to be resource, string given in ,,verwijst naar de 1e regel eronder;

PHP:
while ($rows = mysql_fetch_assoc($query)) {
               echo '<tr>                
               <td>'. $rows['formatdatum']  .'</td>
               <td>'. $rows['week_num'] .'</td>
               <td>'. $rows['name'] .'</td>
               <td><a href="mailto:'. $rows['email'] .'">'. $rows['email'] .'</a></td>             
               <td>'. $rows['aantal_personen'] .'</td>
               <td>'. $rows['geslacht'] .'</td>
               <td>'. $rows['telefoonnummer'] .'</td>
               <td>'. $rows['message'] .'</td>            
               </tr>';	  
               	  }	  
               ?>

Zal het eens nalopen de Quotes
 
Laatst bewerkt:
Dit zou goed moeten gaan:

PHP:
$sql = "
SELECT
    id,
    name,
    email,
    DATE_FORMAT(date, '%d-%M-%Y') AS formatdatum,
    telefoonnummer,
    geslacht,
    aantal_personen,
    optellen,
    week_num,
    message
FROM
    test
ORDER BY
    date";
 
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in

Zie nogmaals mijn laatste post , is wat aangevuld

Update

Probleem zat hen waarschijnlijk in de enkele quotes bij

PHP:
    <?php 
	$mail=$email;
while ($rows = mysql_fetch_assoc($query)) {
   echo '<tr>
    
	<td>'. $rows['date'] .'</td>
	<td>'. $rows['week_num'] .'</td>
	<td>'. $rows['name'] .'</td>
enz
straks verder

deze is ook nog niet goed;
PHP:
 <td>".<a href="mailto:'. $rows['email'] .'">'. $rows['email'] .'</a>."</td>

/////////////////////////////////////////
Ik heb nou dit (let op begin : $query = mysql_query)

PHP:
$query = mysql_query( "select DATE_FORMAT(date, '%d-%M-%Y') as formatdatum , id, name, email,  telefoonnummer, geslacht, aantal_personen, optellen, week_num, message from test  ORDER BY date ")  ;
		 
if (isset($_GET['week_num'])) {
    $query .= " WHERE week_num = ". mysql_real_escape_string($_GET['weeknummer']);

voeg ik toe;
PHP:
if (isset($_GET['week_num'])) {
    $query .= " WHERE week_num = ". mysql_real_escape_string($_GET['weeknummer']);
}
$result = mysql_query($query);
// etc

krijg ik melding:
Warning: mysql_query() expects parameter 1 to be string, resource given in ( gaat om regel
PHP:
$result = mysql_query($query);
 
Laatst bewerkt:
In je eerste stuk code zie ik geen fouten qua quotes voorbijkomen.

Bij de tweede is dat wat lastiger beoordelen, ik weet niet wat er voor staat en het lijkt ook alsof je te snel quotes afsluit. Wat ik zelf meestal doe is een echo altijd met enkele beginnen zodat ik voor HTML gewoon dubbele kan gebruiken.

Dus dan wordt het dit:
PHP:
echo '<td><a href="mailto:'. $rows['email'] .'">'. $rows['email'] .'</a></td>';

De laatste is logisch dat je nu een foutmelding krijgt.
Het resultaat van mysql_query is een resource, het gebruik van ".=" betekent zoiets als "pak de waarde die de variabele had en plak daar dit achteraan. Dat werkt alleen bij strings en niet bij resources. Gebruik dus de volledige code die ik gaf, waarbij je eerst een query opbouwt als string en dan checkt op de $_GET-variabele en pas na die check mysql_query uitvoeren :)
 
Bedankt !

Eerst deze

echo '<td><a href="mailto:'. $rows['email'] .'">'. $rows['email'] .'</a></td>';

zla hueronder tussen moeten bij bijv xxx, maar werkt niet.


<td>". $rows['id'] ."</td>
<td>". $rows['formatdatum'] ."</td>
<td>". $rows['tijd'] ."</td>
<td>". $rows['week_num'] ."</td>
xxx
<td>". $rows['message'] ."</td>
</tr>";
 
PHP:
echo '
<tr>
    <td>'. $rows['id'] .'</td>
    <td>'. $rows['formatdatum'] .'</td>
    <td>'. $rows['tijd'] .'</td>
    <td>'. $rows['week_num'] .'</td>
    <td><a href="mailto:'. $rows['email'] .'">'. $rows['email'] .'</a></td>
    <td>'. $rows['message'] .'</td> 
</tr>';
 
PHP:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'

plaat ik de regel solo in een nieuw bestand wordt hij door de editor ook afgekeurd.
 
Laatst bewerkt:
Er valt mij in het stukje code geen ongeldige syntax op. Heb je ook een regelnummer? En wat is de inhoud van de 2 regels daarvoor?

Als je dit stukje op zich zou plakken hoor je eerst een melding te krijgen dat hij $rows niet kent of de indexes daarvan niet.
 
Bedankt werkt nu ,,ik had dubbele "

PHP:
echo "<tr>  
			   <td>". $rows['id'] ."</td>              
               <td>". $rows['datum']  ."</td>
//enz


PHP:
 echo '<tr>  
			   <td>'. $rows['id'] .'</td>              
               <td>'. $rows['datum']  .'</td>
 
Ik probeer de tijd goed te krijgen met o.a

PHP:
date_default_timezone_set('Europe/Amsterdam');

DATE_FORMAT(tijd, '%H:%I') as formattijd

(tijd uit timestamp)
 
Ze worden ook wel juist in de database gezet? (Ook daar zit een timezone instelling ;))
 
Naar de tabel in database wordt de tijd goed weggeschreven
----------------
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan