Zou je me hier iets meer over kunnen vertellen? .quote:Op zaterdag 21 juni 2014 23:47 schreef bondage het volgende:
[..]
Die zou je in de selectUser functie naar een div kunnen schrijven, die is daar immers bekend.
Gewoon via jQuery: $("#id_van_je_divje").html(var_met_userid);quote:Op maandag 23 juni 2014 13:29 schreef zarGon het volgende:
[..]
Zou je me hier iets meer over kunnen vertellen? .
Ik heb zelf wat geprobeerd (o.a. http://stackoverflow.com/(...)ite-to-a-div-element), maar dat gaf niet het gewenste resultaat.
Waar moet dit geplaatst worden?quote:Op maandag 23 juni 2014 13:45 schreef bondage het volgende:
[..]
Gewoon via jQuery: $("#id_van_je_divje").html(var_met_userid);
In de functie selectUser, daar is het ID namelijk bekend.quote:Op maandag 23 juni 2014 13:46 schreef zarGon het volgende:
[..]
Waar moet dit geplaatst worden?
Op de user-pagina of op de index (samen bij de rest van de js)?
http://fok.zevkiselim.nl/crew2.0/?type=user#id=151187.quote:Op maandag 23 juni 2014 16:06 schreef bondage het volgende:
[..]
In de functie selectUser, daar is het ID namelijk bekend.
quote:Op maandag 23 juni 2014 16:06 schreef bondage het volgende:
[..]
In de functie selectUser, daar is het ID namelijk bekend.
1 2 3 4 5 6 | function selectUser(user_id) { $("#userselect").hide(); $("#userinfo").show(); $("#userid").show(); $("#userid").html(user_id); drawItems(user_id); } |
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 | <div class="page-header" id="userinfo" style="display:none;"> <?php try { require('config.php'); $UserID = '<span id="userid"></span>'; echo $UserID; $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql= "SELECT PK_Gebruiker , Gebruikersnaam , UserID FROM Gebruiker WHERE UserID = " . $UserID . " "; $stmt=$con->prepare($sql); $stmt->execute(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo '<h1>LOL</h1>'; //echo $row['Gebruikersnaam']; } } // Errorafhandeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?> </div> |
Gequote stukje gaat nooit werken natuurlijk, je geeft nu een string zonder betekenis mee aan je query. Is het de bedoeling dat de naam van de user wordt opgehaald adhv het ID die geselecteerd is?quote:
Bedoeling is dat ik data (van de user) uit de database trek. Ik moet daarvoor echter weten welke user er geselecteerd is. Dat wordt nu met $("#userid").html(user_id); gedaan.quote:Op dinsdag 24 juni 2014 11:28 schreef bondage het volgende:
[..]
Gequote stukje gaat nooit werken natuurlijk, je geeft nu een string zonder betekenis mee aan je query. Is het de bedoeling dat de naam van de user wordt opgehaald adhv het ID die geselecteerd is?
Dat gequote stukje werkt overigens wel in een echo. Ik dacht dat het daarom ook zou werken in de query.quote:Op dinsdag 24 juni 2014 11:28 schreef bondage het volgende:
[..]
Gequote stukje gaat nooit werken natuurlijk, je geeft nu een string zonder betekenis mee aan je query. Is het de bedoeling dat de naam van de user wordt opgehaald adhv het ID die geselecteerd is?
Elementen die dynamisch worden gevuld kun je niet doorgeven. Je zal hiervoor een losse ajax request moeten doen of het geselecteerde user-id opslaan in de sessie en die hergebruiken in je query.quote:Op dinsdag 24 juni 2014 11:33 schreef zarGon het volgende:
[..]
Bedoeling is dat ik data (van de user) uit de database trek. Ik moet daarvoor echter weten welke user er geselecteerd is. Dat wordt nu met $("#userid").html(user_id); gedaan.
Als ik eenmaal een UserID heb, kan ik de data uit de database tonen.
Omdat de UserID (#id=xxx) nu met JavaScript werkt, kan ik geen PHP gebruiken. Of nou ja, dat is me niet gelukt.
Fuck. . Dat gaat mij in ieder geval niet lukken. . Geen idee hoe of wat.quote:Op dinsdag 24 juni 2014 11:40 schreef bondage het volgende:
[..]
Elementen die dynamisch worden gevuld kun je niet doorgeven. Je zal hiervoor een losse ajax request moeten doen of het geselecteerde user-id opslaan in de sessie en die hergebruiken in je query.
Wil je in de toekomst nog meer waarden dynamisch ophalen of is de naam van de user het enige? Het probleem is namelijk dat je op den duur met gigantisch veel losse requests komt te zitten, lijkt me niet de bedoeling en maakt de boel onoverzichtelijk. Wat je zou kunnen doen is een JS functie schrijven die alle data in één request ophaalt, dus zowel de gegevens voor de grafieken als de extra info betreft de geselecteerde gebruiker. Je kunt deze gegevens allemaal teruggeven als JSON data, dus de userdata en grafiekdata in een object en dan opsplitsen in de JS functie die de aanroep doet.quote:Op dinsdag 24 juni 2014 11:49 schreef zarGon het volgende:
[..]
Fuck. . Dat gaat mij in ieder geval niet lukken. . Geen idee hoe of wat.
Zou jou dit willen/kunnen doen? Mits je kan/wil en tijd en zo hebt.
Voor de user-pagina is bijna alles rond, alleen de genoemde gegevens hierboven missen. En dat kan allemaal geregeld worden met alleen de UserID.quote:Op dinsdag 24 juni 2014 11:56 schreef bondage het volgende:
[..]
Wil je in de toekomst nog meer waarden dynamisch ophalen of is de naam van de user het enige? Het probleem is namelijk dat je op den duur met gigantisch veel losse requests komt te zitten, lijkt me niet de bedoeling en maakt de boel onoverzichtelijk. Wat je zou kunnen doen is een JS functie schrijven die alle data in één request ophaalt, dus zowel de gegevens voor de grafieken als de extra info betreft de geselecteerde gebruiker. Je kunt deze gegevens allemaal teruggeven als JSON data, dus de userdata en grafiekdata in een object en dan opsplitsen in de JS functie die de aanroep doet.
Helaas. . Bedankt voor je uitleg nog in ieder geval, al kan ik er weinig mee.quote:Ik heb er op dit moment helaas geen tijd voor.
Ik ga vanavond ff voor je kijken, ben nu aan het werk. Het is namelijk niet zo heel erg ingewikkeld.quote:Op dinsdag 24 juni 2014 11:58 schreef zarGon het volgende:
[..]
Voor de user-pagina is bijna alles rond, alleen de genoemde gegevens hierboven missen. En dat kan allemaal geregeld worden met alleen de UserID.
[..]
Helaas. . Bedankt voor je uitleg nog in ieder geval, al kan ik er weinig mee.
. Heel erg bedankt!quote:Op dinsdag 24 juni 2014 12:00 schreef bondage het volgende:
[..]
Ik ga vanavond ff voor je kijken, ben nu aan het werk. Het is namelijk niet zo heel erg ingewikkeld.
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | <?php elseif (isset($_GET['rol'])) { // creates the new/edit record form // since this form is used multiple times in this file, I have made it a function that is easily reusable function renderForm($Subsitenaam = '', $Rolafkorting = '', $Rolomschrijving = '', $Foutmelding = '', $PK_Rol = '') { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title> <?php if ($PK_Rol != '') { echo "Edit Record"; } else { echo "New Record"; } ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <h1><?php if ($PK_Rol != '') { echo "Edit Record"; } else { echo "New Record"; } ?></h1> <?php if ($Foutmelding != '') { echo "<div style='padding:4px; border:1px solid red; color:red'>" . $Foutmelding . "</div>"; } ?> <form action="" method="post"> <div> <?php if ($PK_Rol != '') { ?> <input type="hidden" name="PK_Rol" value="<?php echo $PK_Rol; ?>" /> <p>PK_Rol: <?php echo $PK_Rol; ?></p> <?php } ?> <strong>Subsitenaam: *</strong> <input type="text" name="Subsitenaam" value="<?php echo $Subsitenaam; ?>"/><br/> <strong>Rolafkorting: *</strong> <input type="text" name="Rolafkorting" value="<?php echo $Rolafkorting; ?>"/><br/> <strong>Rolomschrijving: *</strong> <input type="text" name="Rolomschrijving" value="<?php echo $Rolomschrijving; ?>"/><br/> <p>* required</p> <input type="submit" name="submit" value="Submit" /> </div> </form> </body> </html> <?php } /* EDIT RECORD */ // if the 'PK_Rol' variable is set in the URL, we know that we need to edit a record if (isset($_GET['PK_Rol'])) { // if the form's submit button is clicked, we need to process the form if (isset($_POST['submit'])) { // make sure the 'PK_Rol' in the URL is valid if (is_numeric($_POST['PK_Rol'])) { // get variables from the URL/form $PK_Rol = $_POST['PK_Rol']; $Subsitenaam = htmlentities($_POST['Subsitenaam'], ENT_QUOTES); $Rolafkorting = htmlentities($_POST['Rolafkorting'], ENT_QUOTES); $Rolomschrijving = htmlentities($_POST['Rolomschrijving'], ENT_QUOTES); // check that firstname and lastname are both not empty if ($Subsitenaam == '' || $Rolafkorting == '' || $Rolomschrijving == '') { // if they are empty, show an error message and display the form $Foutmelding = 'ERROR: Please fill in all required fields!'; renderForm($Subsitenaam, $Rolafkorting, $Rolomschrijving, $Foutmelding, $PK_Rol); } else { // if everything is fine, update the record in the database //!!!!!!!!!!!!!!! if ($stmt = $mysqli->prepare("UPDATE Rol SET Naam = ? WHERE PK_Rol=?")) { $stmt->bind_param("sssi", $Subsitenaam, $Rolafkorting, $Rolomschrijving, $PK_Rol); $stmt->execute(); $stmt->close(); } // show an error message if the query has an error else { echo "ERROR: could not prepare SQL statement."; } // redirect the user once the form is updated header("Location: view.php?rol"); } } // if the 'PK_Rol' variable is not valid, show an error message else { echo "Error!"; } } // if the form hasn't been submitted yet, get the info from the database and show the form else { // make sure the 'PK_Rol' value is valid if (is_numeric($_GET['PK_Rol']) && $_GET['PK_Rol'] > 0) { // get 'PK_Rol' from URL $PK_Rol = $_GET['PK_Rol']; // get the record from the database if($stmt = $mysqli->prepare("SELECT * FROM Subsite WHERE PK_Rol=?")) //!!!!!!!!! { $stmt->bind_param("i", $PK_Rol); $stmt->execute(); $stmt->bind_result($PK_Rol, $Subsitenaam, $Rolafkorting, $Rolomschrijving); $stmt->fetch(); // show the form renderForm($Subsitenaam, $Rolafkorting, $Rolomschrijving, NULL, $PK_Rol); $stmt->close(); } // show an error if the query has an error else { echo "Error: could not prepare SQL statement"; } } // if the 'PK_Rol' value is not valid, redirect the user back to the view.php page else { header("Location: view.php?rol"); } } } /* NEW RECORD */ // if the 'PK_Rol' variable is not set in the URL, we must be creating a new record else { // if the form's submit button is clicked, we need to process the form if (isset($_POST['submit'])) { // get the form data $Subsitenaam = htmlentities($_POST['Subsitenaam'], ENT_QUOTES); $Rolafkorting = htmlentities($_POST['Rolafkorting'], ENT_QUOTES); $Rolomschrijving = htmlentities($_POST['Rolomschrijving'], ENT_QUOTES); // check that firstname and lastname are both not empty if ($Subsitenaam == '' || $Rolafkorting == '' || $Rolomschrijving == '') { // if they are empty, show an error message and display the form $Foutmelding = 'ERROR: Please fill in all required fields!'; renderForm($Subsitenaam, $Rolafkorting, $Rolomschrijving, $Foutmelding); } else { // insert the new record into the database if ($stmt = $mysqli->prepare("INSERT Rol (Naam) VALUES (?)")) //! !!!!!!!!!!!! { $stmt->bind_param("sss", $Subsitenaam, $Rolafkorting, $Rolomschrijving); $stmt->execute(); $stmt->close(); } // show an error if the query has an error else { echo "ERROR: Could not prepare SQL statement."; } // redirec the user header("Location: view.php?rol"); } } // if the form hasn't been submitted yet, show the form else { renderForm(); } } // close the mysqli connection $mysqli->close(); } ?> |
quote:Op donderdag 26 juni 2014 15:04 schreef zarGon het volgende:
Ben bezig met de 'admin'-pagina's, warmee je gemakkelijk data kunt toevoegen aan de database.
http://fok.zevkiselim.nl/crew2.0/admin/view.php.
Ik zou het volgende willen weten: hoe kan ik in plaats van een textbox een dropdownlijstje weergeven? In die dropdown staan dan de mogelijke waarden die al voorkomen in de database.
Ik heb dat nodig voor het gedeelte 'rol'. Ik wil bij het toevoegen van een 'rol' ook meteen een subsite kunnen kiezen. Dat je bijvoorbeeld 'DIG' toevoegt en daarbij uit een dropdown 'Forum' als subsite kan kiezen.
Met textbox: http://fok.zevkiselim.nl/crew2.0/admin/edit.php?rol.
(Werkt nu sowieso niet, de SQL-query klopt niet.)
--> Ik wil dus dat 'Subsitenaam' geen textbox is, maar een dropdownlijst.
Code:
[ code verwijderd ]
1 2 3 4 5 6 | <?php <select> <option value="DIG">DIG</option> <option value="GC">GC</option> </select> ?> |
Jep! In plaats van handmatig 'DIG' of 'GC' invullen, wil ik het kunnen kiezen. Makkelijker, en niet foutgevoelig.quote:Op donderdag 26 juni 2014 15:30 schreef Nattekat het volgende:
[..]
[ code verwijderd ]
Wil je zoiets hebben?
Dat wordt een while() zoals bij de grafieken?quote:Met een array die uit de SQL query rolt kan je een for each opstellen voor elke subsite waarbij je bij elke subsite een nieuwe option toevoegt.
Ik zou persoonlijk eerst bestaande code kopieren (die code die alle gegevens voor een piechart in een array gooit) en vervolgens die array gebruiken om het te vullen. Scheelt werk en is iets overzichtelijker.quote:Op donderdag 26 juni 2014 15:34 schreef zarGon het volgende:
Dat wordt een while() zoals bij de grafieken?
Hm...
De grafieken tonen geen usergegevens, maar subsite/rol/activiteit.quote:Op donderdag 26 juni 2014 15:37 schreef Nattekat het volgende:
[..]
Ik zou persoonlijk eerst bestaande code kopieren (die code die alle gegevens voor een piechart in een array gooit) en vervolgens die array gebruiken om het te vullen. Scheelt werk en is iets overzichtelijker.
Dat snap ik, maar die code kan je als uitgangspunt nemenquote:Op donderdag 26 juni 2014 15:39 schreef zarGon het volgende:
[..]
De grafieken tonen geen usergegevens, maar subsite/rol/activiteit.
Ik zal er vanavond eens naar kijken.
Ben er helaas nog niet aan toegekomen, te druk de laatste paar dagen. Zal morgen of in het weekend even iets proberen te fixen.quote:
.quote:Op donderdag 26 juni 2014 21:32 schreef bondage het volgende:
[..]
Ben er helaas nog niet aan toegekomen, te druk de laatste paar dagen. Zal morgen of in het weekend even iets proberen te fixen.
1 2 3 4 | SELECT * FROM Rol R LEFT JOIN Subsite S ON R.FK_Subsite = S.PK_Subsite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $sql = "SELECT G.Gebruikersnaam , R.Afkorting Rolafkorting , SUM(DATEDIFF(IFNULL(A.Einddatum,CURDATE()),A.Startdatum)+1) Duur FROM Activiteit A LEFT JOIN Gebruiker G ON A.FK_Gebruiker = G.PK_Gebruiker LEFT JOIN Rol R ON A.FK_ROL = R.PK_ROL LEFT JOIN Subsite S ON R.FK_Subsite = S.PK_Subsite WHERE G.UserID = ? GROUP BY G.Gebruikersnaam, R.Afkorting ORDER BY A.Startdatum ASC, IFNULL(A.Einddatum,CURDATE()) ASC"; $stmt=$con->prepare($sql); $stmt->execute($id); ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |