Jump to content

php drop down sub menu


skyhighweb

Recommended Posts

35 minutes ago, dsonesuk said:

Should it not be


where b.willlose='.$willlose.' '

And does the values in 'willose' column have a space after the value as shown by using 


.' '

on the search value?

yeah checked i remove all the b. i wasnt even joining anything, if only i could try rewrite this

require_once('conn.php');
ini_set('display_errors',0);

$query = "SELECT b.auction, b.bidder, b.tagged, b.willwin, b.willlose, a.id, a.team1, a.team2  FROM " . $DBPrefix . "vs_auctions a
LEFT JOIN " . $DBPrefix . "vs_bids b ON (b.auction = a.id) 
WHERE a.id = b.auction and a.id = a.id group by b.auction";

$country_result = $conn->query($query);

so it will look like this

$query = "SELECT a.id, a.team1, a.team2, b.auction, b.bidder, b.tagged, b.willwin, b.willlose FROM " . $DBPrefix . "auctions a
		LEFT JOIN " . $DBPrefix . "bids b ON (b.auction = a.id)
		WHERE a.id = :auc_id and a.id = a.id group by a.id";
		$params = array();
		$params[] = array(':auc_id', $id, 'int');
		$db->query($query, $params);

so i can stay connected to my database with this config file

<?php
$DbHost	 = "localhost";
$DbDatabase = "vsb";
$DbUser	 = "root";
$DbPassword = "pass";
$DBPrefix	= "vs_";
$main_path = "D:\\xampp\\htdocs\\vsbet\\";
$MD5_PREFIX = "ca801ec4f5c664bc6a492f942b3a07eb";
?>

that way i can simply intergrate the code smoothly , because right now it like am having two seperate connection acting differently

Link to comment
Share on other sites

IF $db represent connection to database, what is $conn?

You just require single variable connection to a single database.

For each select statement attached to $query variable you call

$db->query($query);

directly following it and process the results following that.

IF you manually insert a value instead of a variable, does it produce correct result, if it does not then the select query is faulty.

Link to comment
Share on other sites

4 minutes ago, dsonesuk said:

IF $db represent connection to database, what is $conn?

You just require single variable connection to a single database.

For each select statement attached to $query variable you call

$db->query($query);

directly following it and process the results following that.

IF you manually insert a value instead of a variable, does it produce correct result, if it does not then the select query is faulty.

it produces the correct result, the problem now is the script am using as u can see is different from what have been using, have tried changing things around so the script can connect to a db and not conn i have two seperate connection, db is the one have been using while conn is the one that came along with the drop menu code

Link to comment
Share on other sites

11 minutes ago, dsonesuk said:

Then I dont understand?, if you insert manually the correct value in SQL statement, it works but! if the value returned by $_POST is the same as the manually entered value it does not, that just does not make sense.


no i meant, using the previous form field, i can insert values into the table using $db without the drop down values which i iinsert maunaly from the database backend into the row, but with the $conn i can only view those values along side the drop down values. u know what is there a way i can message u the script so u see for ur self along side what am trying to do?

 

Link to comment
Share on other sites

I do not know WHAT you want now? you said you want the sub dropdown to show data from database depending what is passed back from parent dropdown, it may or may not work? then you talk about inserting? then you find a script that uses $conn?

Maybe you should learn to understand MYSQL, PHP, SQL first! Instead of just finding any script that may/nearly produces the required results. and pasting into your own, and then get us to unravel third party code for you, which unrelated to your current code.

Message me! well sorry, that's not going to happen.

Link to comment
Share on other sites

ok so after checking em am finally getting close i have them connected to one database and converted them from conn to db, the menu works fine but the sub menu disappears when i select a menu, the code below plz chk for me what am doing wrong thanks, i might not have converted all or missing a code or something

$query = "SELECT a.id, a.team1, a.team2, b.auction, b.bidder, b.tagged, b.willwin FROM " . $DBPrefix . "auctions a
		LEFT JOIN " . $DBPrefix . "bids b ON (b.auction = a.id)
		WHERE a.id = :auc_id and a.id = a.id group by a.id";
		$params = array();
		$params[] = array(':auc_id', $id, 'int');
		$db->query($query, $params);

?>


<select name="country" id="sports-list" onchange="changeSelect( this.value )">
<option value="1">Select Team</option>
<?php
if ($db->numrows() > 0) {
// output data of each row
while ($row = $db->fetch()) {
?>
<option value="<?php echo $row["willwin"]; ?>"><?php echo $row["team1"]; ?></option>
<option value="<?php echo $row["willlose"]; ?>"><?php echo $row["team2"]; ?></option>
<?php
}
}
?>
</select>
</br></br></br><div id="subcats">
<select name="bidder" id="bids-list">
<option value='1'>Select Number</option>

</select></div>
<?php
$willlose = mysqli_real_escape_string($_POST['willlose']);
if($willlose!='')
{


$query = "SELECT b.*, u.nick, u.rate_sum FROM " . $DBPrefix . "bids b 
LEFT JOIN " . $DBPrefix . "users u ON (u.id = b.bidder)
WHERE willlose=".$willlose." and b.bidder NOT IN ('b.tagged') and b.tagged IN ('b.bidder') and b.auction = :auc_id order by b.willwin";
$params = array();
$params[] = array(':auc_id', $id, 'int');
$db->query($query, $params);


$options = "<option value=''>Select Name</option>";
while ($row = $db->fetch()) {
$options .= "<option value='".$row['auction']."'>".$row['nick']."</option>";
}
echo $options;
}

?>

<script src="js/dropdown/jquery-1.3.0.min.js"></script>

<script>
$('#sports-list').on('change', function(){
var willlose = this.value;
$.ajax({
type: "POST",
data:'willlose='+willlose,
success: function(result){
$("#bids-list").html(result);
}
});
});

</script>

 

Link to comment
Share on other sites

You're not printing any of those options into the select list.

This is the problem with not understanding the code you are working with.  We are here to help people learn how to program.  We expect people to start on their own, and make an effort.  If you're not going to go through the tutorials to learn the basics about how this stuff works, how can we help you?  Just doing everything for you does not teach you anything except that when you have a problem you come here to get the answer.  That's not programming.

Link to comment
Share on other sites

19 hours ago, justsomeguy said:

You're not printing any of those options into the select list.

This is the problem with not understanding the code you are working with.  We are here to help people learn how to program.  We expect people to start on their own, and make an effort.  If you're not going to go through the tutorials to learn the basics about how this stuff works, how can we help you?  Just doing everything for you does not teach you anything except that when you have a problem you come here to get the answer.  That's not programming.

yeah true, but fixed anyway.

Link to comment
Share on other sites

On 5/20/2017 at 9:39 AM, dsonesuk said:

IS $willlose = mysql_real_escape_string($_POST['willlose']); returning a value?

Just make sure it returns a value first, and this

</select></div>

should be UNDER the php outputted options.

tried that didnt work

i got this other code been working on the menu part works fine but the submenu after converting to mysqli refuse to work

 

$query = "SELECT s.team_id, s.teams AS teams1, ss.team_id, ss.teams AS teams2, a.id, a.team1, a.team2, b.auction, b.bidder, b.tagged, b.willwin, b.willlose FROM " . $DBPrefix . "auctions a
		LEFT JOIN " . $DBPrefix . "bids b ON (b.auction = a.id)
		LEFT JOIN " . $DBPrefix . "sports s ON (s.team_id = a.team1)
		LEFT JOIN " . $DBPrefix . "sports ss ON (ss.team_id = a.team2)
		WHERE a.id = :auc_id and a.id = a.id group by a.id";
		$params = array();
		$params[] = array(':auc_id', $id, 'int');
		$db->query($query, $params);
?>

<script type="text/javascript" src="js/dropdownjquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    
	$("#menu").change(function() {
		$(this).after('<div id="loader"><img src="images/loading.gif" alt="loading subcategory" /></div>');
		$.get('bid.php?menu=' + $(this).val(), function(data) {
			$("#sub_cat").html(data);
			$('#loader').slideUp(200, function() {
				$(this).remove();
			});
		});	
    });

});
</script>
<form name="bid">
	<label for="category">Select Winner</label>
    <select name="willwin" id="menu">
	
	<?php
if ($db->numrows() > 0){
        while ($row = $db->fetch()) { ?>
        <option value=''></option>
        <option value="<?php echo $row["team1"]; ?>"><?php echo $row["teams1"]; ?></option>
		<option value="<?php echo $row["team2"]; ?>"><?php echo $row["teams2"]; ?></option>
        <?php 
}
}
?>
    </select>
    <br/><br/><br/>
  
    <label>Tag Bettor</label>
    <select name="sub_cat" id="sub_cat"></select>

 

Link to comment
Share on other sites


	<?php 


$query = "SELECT a.id, a.team1, a.title, a.team2, s.team_id, s.teams, u.nick, b.id, b.willwin, b.willlose, b.bidder, b.auction FROM bids b 
LEFT JOIN " . $DBPrefix . "users u ON (u.id = b.bidder)
LEFT JOIN " . $DBPrefix . "auctions a ON (a.id = b.auction)
LEFT JOIN " . $DBPrefix . "sports s ON (s.team_id = b.willwin)
WHERE b.willlose = :menu and a.id = :auc_id and b.bidder NOT IN ('b.tagged') and b.tagged IN ('b.bidder')";
$params = array();
		$params[] = array(':auc_id', $id, 'int');
		$params[] = array(':menu', $menu, 'int');
		$db->query($query, $params);
		
while ($row = $db->fetch()) {
	echo "<option value=''></option>";
	echo "<option value='$row[team_id]'>$row[nick]...$row[teams]</option>";
}
?>

 

Link to comment
Share on other sites

IF you are using MYSQLI then this is

mysql_real_escape_string($_POST['willlose'])

IS WRONG!

it should be

mysqli_real_escape_string($_POST['willlose'])

Notice 'i' at end of 'mysql', most if not all of these specific mysqli functions begin with 'mysqli'.

Link to comment
Share on other sites

4 minutes ago, dsonesuk said:

IF you are using MYSQLI then this is


mysql_real_escape_string($_POST['willlose'])

IS WRONG!

it should be


mysqli_real_escape_string($_POST['willlose'])

Notice 'i' at end of 'mysql', most if not all of these specific mysqli functions begin with 'mysqli'.

tried all that, aam dropping the code.

Link to comment
Share on other sites

tried that didnt work

This is the single worst response you can probably give.  If you did it right, then it would have worked.  If it didn't work, then you didn't do it right, but you didn't show any code to allow anyone to point out what you did wrong.  It's not like people suggest all of these PHP functions that just don't work, PHP works fine, you're just not using it right, and you're also not showing anyone else what you did so that we can point out your errors.  Incidentally, this is also why I stopped responding to your threads.  I'm not here to do peoples' work for them, I'm trying to teach people.

Link to comment
Share on other sites

3 minutes ago, justsomeguy said:

 

 

This is the single worst response you can probably give.  If you did it right, then it would have worked.  If it didn't work, then you didn't do it right, but you didn't show any code to allow anyone to point out what you did wrong.  It's not like people suggest all of these PHP functions that just don't work, PHP works fine, you're just not using it right, and you're also not showing anyone else what you did so that we can point out your errors.  Incidentally, this is also why I stopped responding to your threads.  I'm not here to do peoples' work for them, I'm trying to teach people.

ok, like i said i drop the code, i was interfereing with the loading speed and wasnt work well i tried another one still working on that one.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...