Hoe dan?quote:
1 2 3 4 5 6 7 8 9 10 11 12 | CREATE TABLE `calls` ( `id` int(11) NOT NULL auto_increment, `aannemer` varchar(255) default NULL, `contact` varchar(255) default NULL, `bedrijf` varchar(255) default NULL, `tel` varchar(255) default NULL, `email` varchar(255) default NULL, `betreft` varchar(255) default NULL, `bericht` varchar(255) default NULL, `nsiemp` varchar(255) default NULL, UNIQUE KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=26 ; |
1 | `actief` int NOT NULL default 1, |
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 | <?php error_reporting(E_ALL); if($dbc=@mysql_connect(extern','user',pass')) { if(!@mysql_select_db('original')) { die('<p>Database niet te selecteren omdat: '.mysql_error().'</p>'); } } else { die('Niet verbonden wegens '.mysql_error().'<br />'); } $x=1; $query="SELECT * FROM FAQ WHERE language_id=1 OR language_id=2"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){ $query2="SELECT product_id FROM FAQ_product WHERE FAQ_id=".$row['FAQ_id'].""; $result2=mysql_query($query2); $row2=mysql_fetch_array($result2); $query3="SELECT product_code FROM product WHERE product_id=".$row2['product_id'].""; $result3=mysql_query($query3); $row3=mysql_fetch_array($result3); $articel_code=addslashes($row3['product_code']); $question=addslashes($row['question']); $answer=addslashes($row['answer']); echo '<p>'.$x.'<br />'.$articel_code.'<br />'.$question.'<br />'.$answer.'</p>'; $x++; } ?> |
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 51 52 53 54 55 56 57 | <?php error_reporting(E_ALL); if($dbc=@mysql_connect(extern','user',pass')) { if(!@mysql_select_db('original')) { die('<p>Database niet te selecteren omdat: '.mysql_error().'</p>'); } } else { die('Niet verbonden wegens '.mysql_error().'<br />'); } $x=1; $query="SELECT * FROM FAQ WHERE language_id=1 OR language_id=2"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){ $query2="SELECT product_id FROM FAQ_product WHERE FAQ_id=".$row['FAQ_id'].""; $result2=mysql_query($query2); $row2=mysql_fetch_array($result2); $query3="SELECT product_code FROM product WHERE product_id=".$row2['product_id'].""; $result3=mysql_query($query3); $row3=mysql_fetch_array($result3); $articel_code=addslashes($row3['product_code']); $question=addslashes($row['question']); $answer=addslashes($row['answer']); if($dbc=@mysql_connect('localhost','user','pass')){ if(!@mysql_select_db('ssis')){ die('<p>Database niet te selecteren omdat: '.mysql_error().'</p>'); } }else{ die('Niet verbonden wegens '.mysql_error().'<br />'); } $query="INSERT INTO FAQ (id,articel_code,question,answer) VALUES(0,'$articel_code','$question','$answer')"; if(mysql_query($query)){ echo '<p>'.$x.'<br />'.$articel_code.'<br />'.$question.'<br />'.$answer.'</p>'; $x++; }else echo 'foutje '.mysql_error().' '; } ?> |
Of te wel hoe update ik een kolomwaarde van 1 naar 0 via een druk op een icoon?quote:Op donderdag 10 februari 2005 14:06 schreef dnzl het volgende:
En hoe krijg ik het voor elkaar dat wanneer er op een icoontje wordt gedrukt actief omswitcht van 1 naar 0 ?
Eerst haal ik alle menu-items uit de database, behalve degene die verschoven wordt. Ik zet ze in een tijdelijke array:quote:
1 2 3 4 5 6 7 8 9 10 | // Verplaatsen in menu if(!empty($_POST['d_zichtbaar']) && $_POST['d_zichtbaar'] != $paginadata['ond_zichtbaar']) { $nodemove_query = mysql_query("SELECT ond_id, ond_zichtbaar FROM ixney_onderdelen WHERE ond_subsite = '".$subsitedata['sub_id']."' AND ond_zichtbaar > 0 AND ond_id != '".$paginadata['ond_id']."' ORDER BY ond_zichtbaar ASC") or die(mysql_error()); $tmp_arr = array(); while($nodemove = mysql_fetch_assoc($nodemove_query)) { $tmp_arr[$nodemove['ond_zichtbaar']] = $nodemove['ond_id']; } |
1 | $new_arr = array($_POST['d_zichtbaar'] => $paginadata['ond_id']); |
1 2 3 4 5 6 7 | $x = 0; $plus = 0; foreach($tmp_arr AS $var => $val) { $x++; if(array_key_exists($x, $new_arr)) $plus = 1; $new_arr[($x + $plus)] = $val; } |
1 2 3 4 | foreach($new_arr AS $var => $val) { mysql_query("UPDATE ixney_onderdelen SET ond_zichtbaar = ".$var." WHERE ond_id = '".$val."'") or die(mysql_error()); } |
Hmm, inderdaad, want als ik het bv voor meerdere layouts wil laten werken moet het gewoon kunnen met de 'naam' zonder _Y en _X enzo... maaruh ikquote:Op woensdag 9 februari 2005 18:56 schreef SuperRembo het volgende:
[..]
Daar heeft toch niemand last van als er PLAATJE_X en PLAATJE_Y meegestuurd wordt?
Dit kan ook nog, als je het per see wil
[ code verwijderd ]
(Misschien heb je nog wat extra CSS nodig)
Jammer dat je per record een update query nodig hebt.quote:Op donderdag 10 februari 2005 16:08 schreef Heliospan het volgende:
[..]
Eerst haal ik alle menu-items uit de database, behalve degene die verschoven wordt. Ik zet ze in een tijdelijke array:
[ code verwijderd ]
Dan zet ik het ID van het menu item op de plek waar die komt te staan:
[ code verwijderd ]
Daarna zet ik de rest er omheen op deze manier:
[ code verwijderd ]
En daarna update ik ze allemaal in de sql:
[ code verwijderd ]
iemand?quote:Op donderdag 10 februari 2005 15:03 schreef Swetsenegger het volgende:
[ code verwijderd ]
Dit werkt prima, maak ik er vervolgens DIT van:
[ code verwijderd ]
krijg ik :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\ssis\onderhoud\convertor2.php on line 30
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\ssis\onderhoud\convertor2.php on line 34
en wordt 'articel_code' niet meegenomen. Ik begrijp er niets van.
Read It, Visisted It and Replyed on IT!quote:
De resource van de eerste connection sla je op in $dbc. De tweede connection zet je daar ook in. Misschien dat de connection gesloten wordt als je de resource overschrijft?quote:
Hmz, DAT zou kunnen natuurlijk.quote:Op donderdag 10 februari 2005 19:59 schreef SuperRembo het volgende:
[..]
De resource van de eerste connection sla je op in $dbc. De tweede connection zet je daar ook in. Misschien dat de connection gesloten wordt als je de resource overschrijft?
Als je met meerdere connections werkt lijk me 't so wie so handig om bij elke mysql_query() expliciet de connection mee te geven.
Nou, eigenlijk maakt het niet uit. Ik vind het alleen netter staan als je in de SQL kijkt en het direct duidelijk is wat waar staat. Maar als de site groter wordt is het idd een goed idee om dat wel aan te passenquote:Op donderdag 10 februari 2005 19:01 schreef SuperRembo het volgende:
[..]
Jammer dat je per record een update query nodig hebt.
Maakt het eigenlijk uit of die nummering doorloopt zonder gaten? Als dat niet erg is dan kan het met 1 select en 1 update.
Dan moet je ook als je een record verwijderd de overgebleven records opschuiven. Onnodig werk lijkt me.quote:Op donderdag 10 februari 2005 21:04 schreef Heliospan het volgende:
[..]
Nou, eigenlijk maakt het niet uit. Ik vind het alleen netter staan als je in de SQL kijkt en het direct duidelijk is wat waar staat. Maar als de site groter wordt is het idd een goed idee om dat wel aan te passen
Dat gat blijft als er een record verwijderd wordt, en wordt weer opgevuld als er een nieuw record komt of als ze van plaats wisselen.quote:Op donderdag 10 februari 2005 21:48 schreef SuperRembo het volgende:
[..]
Dan moet je ook als je een record verwijderd de overgebleven records opschuiven. Onnodig werk lijkt me.
1 2 3 4 5 6 7 8 9 | pos: id: 1 20 2 15 3 45 4 10 5 30 6 25 7 40 8 35 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $pictureID = ...;// input $albumID = ...; // AlbumID, uit select $viewOrder = ...; // huidige ViewOrder van picture die je verplaatst, uit select $viewOrderTo = ...; // ViewOrder van picture waar je naartoe verplaatst, uit select $dir = ($viewOrder<$viewOrderTo) ? '-1' : '+1'; $minViewOrder = min($viewOrder, $viewOrderTo); $maxViewOrder = max($viewOrder, $viewOrderTo); // Update $sql = "UPDATE pictures" ." SET ViewOrder = CASE WHEN PictureID=$pictureID THEN $viewOrderTo ELSE ViewOrder $dir END" ." WHERE (AlbumID=$albumID) AND (ViewOrder BETWEEN $minViewOrder AND $maxViewOrder)"; // ... |
Met html kun je geen arrays maken. $_POST['vraag'] is de array die bestaat uit $vraag[2], $vraag[1] etc. Dit zijn gewoon strings, en dus geen arrays. Je zou iets als:quote:Op vrijdag 11 februari 2005 00:45 schreef wonderer het volgende:
Ik zit al een tijdje met een probleem waar ik niet helemaal uitkom... Ik wil zo'n kwis maken zoals op in de Breakout enzo, je vult een paar antwoorden in en de test berekent wat je dan bent. Elk antwoord kent elke caterogie die je kunt "worden" punten toe, en aan het eind ben je dus datgene met de meeste punten. Het werkte op een nogal knudde manier, en dat wilde ik verbeteren, maar mijn methode lijkt niet te werken...
Wat ik nu heb is dit:
Vraag 1
antwoord a radiobutton name=vraag[1] value=a
antwoord b radiobutton name=vraag[1] value=b
antwoord c radiobutton name=vraag[1] value=c
Vraag 2
antwoord a radiobutton name=vraag[2] value=a
antwoord b radiobutton name=vraag[2] value=b
antwoord c radiobutton name=vraag[2] value=c
(syntax klopt niet, weet ik)
Etc. Ik wil dus $_POST["vraag"] doorgeven aan de functie die daarna de punten gaat berekenen, maar dan gaat ie piepen dat $vraag (zo heet de variabele in de functie) geen array is. Klopt dat? Wat doe ik fout? Of is er een makkelijkere/betere manier om dit te krijgen?
1 2 3 4 5 6 7 | $i =1; $max = 10; /* aantal vragen */ $vragen = array(); /* hier komen zo de vragen in */ while($ < $max) { $vragen["$i"] = $_POST['vraag']["$i"]; $i++; } |
quote:Op donderdag 10 februari 2005 19:59 schreef SuperRembo het volgende:
[..]
De resource van de eerste connection sla je op in $dbc. De tweede connection zet je daar ook in. Misschien dat de connection gesloten wordt als je de resource overschrijft?
Als je met meerdere connections werkt lijk me 't so wie so handig om bij elke mysql_query() expliciet de connection mee te geven.
Heb het bovenstaande niet helemaal geleden, dus kan zijn dat ik dingen opmerk die al opgemerkt zijn.quote:Op vrijdag 11 februari 2005 11:32 schreef Swetsenegger het volgende:
[..]
Maakt niets uit.
Het begint nu een serieus probleem te worden
1 | if($dbc=@mysql_connect(extern','user',pass')) |
Copy paste foutje, zoals gezegd werkt het prima wanneer ik de resultaten echo ipv in een andere db wegschrijven.quote:Op vrijdag 11 februari 2005 12:28 schreef DutchBlood het volgende:
[..]
Heb het bovenstaande niet helemaal geleden, dus kan zijn dat ik dingen opmerk die al opgemerkt zijn.
[ code verwijderd ]
Dat exteren, hoort daar niet nog een ' te staan?
En de @'s weghalen bij bv. connecten etc, levert dat niets op?
Nee klopt. Hij geeft een foutmelding op $row2=mysql_fetch_array($query2) en $row3etcetc.quote:Op vrijdag 11 februari 2005 12:32 schreef Roönaän het volgende:
De fout heeft toch niets met die tweede connectie te maken, of zie ik de regelnummers verkeerd?
gewoon een echo mysql_error() wordt je ook niet wijzer van?
Ja precies. Ik probeer het eerst met een myscl_close() in de while lus.quote:Op vrijdag 11 februari 2005 13:29 schreef Roönaän het volgende:
@Swets.
Op zich zou je een hele rigide manier kunnen pakken.
1. Alles wat je opnieuw wilt opslaan in een array flikkeren.
2. mysql_close();
3. mysql_connect(ssis) //pseudo
4. wegschrijven.
-r-
quote:Op vrijdag 11 februari 2005 12:57 schreef Chandler het volgende:
Heeft iemand een idee hoe je een directory kan uitlezen (dat kan ik al wel) maar tevens te sorteren op datum van de directories? dus nieuwste dir eerst, dan tot dat de oudste de array eindigd?
Wat stom! Ik gaf dus $_POST["vraag[]"] door in plaats van $_POST["vraag"]quote:Op vrijdag 11 februari 2005 07:29 schreef SuperRembo het volgende:
Je kan prima een array maken met een html form.
Je moet er wel rekening mee houden wat er gebeurd als een vraag niet ingevuld wordt. Als vraag 2 niet ingevuld wordt, dan bestaat $_POST['vraag'][2] niet. Als helemaal geen vragen worden ingevuld, dan blijft $_POST['vraag'] helemaal leeg.
Doe eens een var_dump($_POST) of var_dump($_POST['vraag']) zodat je ziet wat je form precies doorgeeft.
1 2 3 | echo "A banana is ".$fruits['banana']; echo "A banana is ".$fruits["banana"]; echo "A banana is $fruits[banana]"; |
het geeft op het eerste gezicht driemaal hetzelfde resultaat, maar geen quotes gebruiken is niet okay zie:quote:Op vrijdag 11 februari 2005 20:40 schreef SuperRembo het volgende:
Zoder aanhalingstekens alleen in een string. Dit geeft 3x hetzelfde resultaat:
[ code verwijderd ]
Zie verder de manual.
bron: php.netquote:Array do's and don'ts
Why is $foo[bar] wrong?
You should always use quotes around a string literal array index. For example, use $foo['bar'] and not $foo[bar]. But why is $foo[bar] wrong? You might have seen the following syntax in old scripts:
1
2
3
4
5
6<?php
php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>
This is wrong, but it works. Then, why is it wrong? The reason is that this code has an undefined constant (bar) rather than a string ('bar' - notice the quotes), and PHP may in future define constants which, unfortunately for your code, have the same name. It works because PHP automatically converts a bare string (an unquoted string which does not correspond to any known symbol) into a string which contains the bare string. For instance, if there is no defined constant named bar, then PHP will substitute in the string 'bar' and use that.
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 | <?php include("mysql.php"); include("functions.inc"); connectDB(.....); if(!isset($_COOKIE['ID'])) { Login_Exec(); } else { if($_GET['action'] != '200') { session_start(); echo "Welkom terug, ".$_SESSION['name']; echo ""; echo("<br>\n<a href='Backup.php?action=200'>logout</a>"); if(!isset($_POST['command']) || !isset($_POST['args'])) { echo("<form>\n"); } else { Backup_Exec($_POST['command'],$_POST['args']); } } else { Logout_Exec(); } } ?> |
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 51 52 53 54 | <?php function Login_Exec() { session_start(); if(isset($_POST['Username']) && isset($_POST['Password'])) { $user = addslashes(strip_tags($_POST['Username'])); $pass = md5($_POST['Password']); $check = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."' AND `Password` = '".$pass."'"); if(mysql_num_rows($check) >= 1) { setcookie("ID",session_id()); $_SESSION['id'] = session_id(); $_SESSION['name'] = $user; $_SESSION['password'] = $pass; //print_r($_SESSION); header("location:".$_SERVER['PHP_SELF']); } else { $error = mysql_errno(); include("html\login.html"); } } else { include("html\login.html"); } } function Logout_Exec() { setcookie("ID",""); } function Register_Exec() { } function Backup_Exec($command,$args) { $_SESSION['cmd'] = $command; $_SESSION['arg'] = $args; echo '<pre>'; // Outputs all the result of shellcommand "ls", and returns // the last output line into $last_line. Stores the return value // of the shell command in $retval. $last_line = system($command, $retval); // Printing additional info echo '</pre><hr />Last line of the output: ' . $last_line; echo '<hr />Return value: ' . $retval; } ?> |
maar ik roep mijn session_start telkens aanquote:Op zaterdag 12 februari 2005 11:54 schreef Chandler het volgende:
gewoon session_start() boven aan je script zetten?
ok gedaan staat nu alleen een session_start() boven aan index .php (boven de includes)quote:Op zaterdag 12 februari 2005 11:57 schreef Chandler het volgende:
Dat zie ik, zet het gewoon maar eens aan het begin van je scripten kijk dan nog eens
je kan maar 1x sessie gebruiken en daarom zet je hem ook bovenaan.quote:Op zaterdag 12 februari 2005 11:58 schreef mschol het volgende:
[..]
ok gedaan staat nu alleen een session_start() boven aan index .php (boven de includes)
en zelfsd dan maakt hij er meerdere aan
dan heb je echt niet geoed gezocht hoor,quote:Op zaterdag 12 februari 2005 13:09 schreef Johan-Derksen het volgende:
Hoi
Ik heb dit als code gebruikt:
mysql_connect("iets", "nogiets", "enweeriets");
mysql_select_db("hohoho");
$sql = "SELECT * FROM gebruikers";
$resultaat = mysql_query($sql);
Dat lijkt me een begin om een tabel uit een db te halen of niet?
Hoe kan ik nu letterlijk die tabel op mn page krijgen?
Veel zoeken op phphulp.nl en phpfreazk.nl leverde niets op
1 2 3 4 5 | <?php while($myRow = fetch_mysql_query($resultaat)){ echo ""; } ?> |
1 2 3 4 5 6 | // While a row of data exists, put that row in $row as an associative array while ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"]; } |
maakt toch niet zoveel uit ?? assoc of query , tenminste zo ver ik weet.quote:Op zaterdag 12 februari 2005 13:23 schreef SuperRembo het volgende:
fetch_mysql_query? mysql_fetch_assoc dus.
[ code verwijderd ]
Staat allemaal netjes in de PHP manual
Je hebt ook nog mysql_fetch_row(), mysql_fetch_array(), maar mysql_fetch_assoc() is normaal gesproken het makeklijkst.
Dit heb ik nu gebruikt...quote:$sql = "SELECT * FROM gebruikers";
$resultaat = mysql_query($sql);
echo "Gebruikersnaam";
echo " ";
echo "divisie";
echo " ";
echo "Sterren-record";
echo " ";
echo "Sterren-record-match";
echo "<br>";
while($row = mysql_fetch_assoc($resultaat)){
echo $row["gebruikersnaam"];
echo " ";
echo $row["divisie"];
echo " ";
echo $row["Sterren-record"];
echo " ";
echo $row["Sterren-record-match"];
echo "<br>";
Nou fetch_mysql_query() bestaat nietquote:Op zaterdag 12 februari 2005 13:25 schreef appelsientje het volgende:
[..]
maakt toch niet zoveel uit ?? assoc of query , tenminste zo ver ik weet.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |